Commit 0f9f2b02 authored by unknown's avatar unknown

A fix (bug #6449: DO server-crashing bug).


sql/sql_yacc.yy:
  A fix (bug #6449: DO server-crashing bug).
  expr_list is used for DO command.
parent a2b3d71d
...@@ -2057,6 +2057,10 @@ t2 1 fld3 1 fld3 A NULL NULL NULL BTREE ...@@ -2057,6 +2057,10 @@ t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
drop table t4, t3, t2, t1; drop table t4, t3, t2, t1;
DO 1; DO 1;
DO benchmark(100,1+1),1,1; DO benchmark(100,1+1),1,1;
do default;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
do foobar;
ERROR 42S22: Unknown column 'foobar' in 'field list'
CREATE TABLE t1 ( CREATE TABLE t1 (
id mediumint(8) unsigned NOT NULL auto_increment, id mediumint(8) unsigned NOT NULL auto_increment,
pseudo varchar(35) NOT NULL default '', pseudo varchar(35) NOT NULL default '',
......
...@@ -1756,6 +1756,15 @@ drop table t4, t3, t2, t1; ...@@ -1756,6 +1756,15 @@ drop table t4, t3, t2, t1;
DO 1; DO 1;
DO benchmark(100,1+1),1,1; DO benchmark(100,1+1),1,1;
#
# Bug #6449: do default;
#
--error 1064
do default;
--error 1054
do foobar;
# #
# random in WHERE clause # random in WHERE clause
# #
......
...@@ -3932,11 +3932,12 @@ do: DO_SYM ...@@ -3932,11 +3932,12 @@ do: DO_SYM
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command = SQLCOM_DO; lex->sql_command = SQLCOM_DO;
if (!(lex->insert_list = new List_item)) mysql_init_select(lex);
YYABORT; }
expr_list
{
Lex->insert_list= $3;
} }
values
{}
; ;
/* /*
......
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