Commit 38dcc057 authored by Georgi Kodinov's avatar Georgi Kodinov
Browse files

merge of 38158 to 5.1-bugteam

parents 19e2ed76 5c256ec6
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -2101,6 +2101,37 @@ static bool add_line(String &buffer,char *line,char *in_string,
	continue;
      }
    }
    else if (!*ml_comment && !*in_string &&
             (end_of_line - pos) >= 10 &&
             !my_strnncoll(charset_info, (uchar*) pos, 10,
                           (const uchar*) "delimiter ", 10))
    {
      // Flush previously accepted characters
      if (out != line)
      {
        buffer.append(line, (uint32) (out - line));
        out= line;
      }

      // Flush possible comments in the buffer
      if (!buffer.is_empty())
      {
        if (com_go(&buffer, 0) > 0) // < 0 is not fatal
          DBUG_RETURN(1);
        buffer.length(0);
      }

      /*
        Delimiter wants the get rest of the given line as argument to
        allow one to change ';' to ';;' and back
      */
      buffer.append(pos);
      if (com_delimiter(&buffer, pos) > 0)
        DBUG_RETURN(1);

      buffer.length(0);
      break;
    }
    else if (!*ml_comment && !*in_string && is_prefix(pos, delimiter))
    {
      // Found a statement. Continue parsing after the delimiter
+1 −0
Original line number Diff line number Diff line
set @old_concurrent_insert= @@global.concurrent_insert;
set @@global.concurrent_insert= 0;
drop table if exists t1;
create table t1 (
`a&b` int,
`a<b` int,
+0 −2
Original line number Diff line number Diff line
@@ -38,8 +38,6 @@ t2
t3
Tables_in_test
t1
delimiter
1
_
Test delimiter : from command line
a
+3 −0
Original line number Diff line number Diff line
@@ -6,6 +6,9 @@
# the data is actually in the table).
set @old_concurrent_insert= @@global.concurrent_insert;
set @@global.concurrent_insert= 0;
--disable_warnings
drop table if exists t1;
--enable_warnings

# Test of the xml output of the 'mysql' and 'mysqldump' clients -- makes
# sure that basic encoding issues are handled properly
+0 −6
Original line number Diff line number Diff line
@@ -60,12 +60,6 @@ use test//
show tables//
delimiter ; # Reset delimiter

#
# Bug #33812: mysql client incorrectly parsing DELIMITER
#
select a as delimiter from t1
delimiter ; # Reset delimiter

#
# Bug #36244: MySQL CLI doesn't recognize standalone -- as comment
#             before DELIMITER statement
Loading