|
|
|
@ -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
|
|
|
|
|