1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

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.
This commit is contained in:
unknown
2004-11-16 14:36:25 +04:00
parent a2b3d71d1f
commit 0f9f2b02c1
3 changed files with 18 additions and 4 deletions

View File

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

View File

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

View File

@@ -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
{}
; ;
/* /*