Detect comment with command using extra delimiter

parent 4c2ddda8
...@@ -3901,6 +3901,22 @@ void get_query_type(struct st_query* q) ...@@ -3901,6 +3901,22 @@ void get_query_type(struct st_query* q)
q->type != Q_DISABLE_PARSING) q->type != Q_DISABLE_PARSING)
q->type= Q_COMMENT; q->type= Q_COMMENT;
} }
else if (q->type == Q_COMMENT_WITH_COMMAND &&
q->query[q->first_word_len-1] == ';')
{
/*
Detect comment with command using extra delimiter
Ex --disable_query_log;
^ Extra delimiter causing the command
to be skipped
*/
save= q->query[q->first_word_len-1];
q->query[q->first_word_len-1]= 0;
type= find_type(q->query, &command_typelib, 1+2);
q->query[q->first_word_len-1]= save;
if (type > 0)
die("Extra delimiter \";\" found");
}
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
......
--require r/lowercase0.require --require r/lowercase0.require
--disable_query_log; --disable_query_log
show variables like "lower_case_%"; show variables like "lower_case_%";
--enable_query_log; --enable_query_log
...@@ -152,6 +152,7 @@ mysqltest: At line 1: End of line junk detected: "6" ...@@ -152,6 +152,7 @@ mysqltest: At line 1: End of line junk detected: "6"
mysqltest: At line 1: End of line junk detected: "6" mysqltest: At line 1: End of line junk detected: "6"
mysqltest: At line 1: Missing delimiter mysqltest: At line 1: Missing delimiter
mysqltest: At line 1: Extra delimiter ";" found mysqltest: At line 1: Extra delimiter ";" found
mysqltest: At line 1: Extra delimiter ";" found
MySQL MySQL
"MySQL" "MySQL"
MySQL: The world''s most popular open source database MySQL: The world''s most popular open source database
......
...@@ -369,6 +369,8 @@ select 3 from t1 ; ...@@ -369,6 +369,8 @@ select 3 from t1 ;
# #
--error 1 --error 1
--exec echo "--sleep 4;" | $MYSQL_TEST 2>&1 --exec echo "--sleep 4;" | $MYSQL_TEST 2>&1
--error 1
--exec echo "--disable_query_log;" | $MYSQL_TEST 2>&1
# Allow trailing # comment # Allow trailing # comment
...@@ -592,7 +594,7 @@ while ($num) ...@@ -592,7 +594,7 @@ while ($num)
--source var/tmp/sourced1.sql --source var/tmp/sourced1.sql
dec $num; dec $num;
} }
--enable_abort_on_error; --enable_abort_on_error
--enable_query_log --enable_query_log
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment