Merge bk@192.168.21.1:mysql-4.1

into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
parents 160b784a 466da4cc
...@@ -2834,6 +2834,8 @@ a ...@@ -2834,6 +2834,8 @@ a
4 4
DROP TABLE t1,t2,t3; DROP TABLE t1,t2,t3;
purge master logs before (select adddate(current_timestamp(), interval -4 day)); purge master logs before (select adddate(current_timestamp(), interval -4 day));
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 'select adddate(current_timestamp(), interval -4 day))' at line 1
purge master logs before adddate(current_timestamp(), interval -4 day);
CREATE TABLE t1 (f1 INT); CREATE TABLE t1 (f1 INT);
CREATE TABLE t2 (f2 INT); CREATE TABLE t2 (f2 INT);
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
......
...@@ -1815,11 +1815,12 @@ SELECT * FROM t1 ...@@ -1815,11 +1815,12 @@ SELECT * FROM t1
DROP TABLE t1,t2,t3; DROP TABLE t1,t2,t3;
# #
# BUG #10308: purge log with subselect # BUG#10308: purge log with subselect
# Bug#28553: mysqld crash in "purge master log before(select time from information_schema)"
# #
--error 1064
purge master logs before (select adddate(current_timestamp(), interval -4 day)); purge master logs before (select adddate(current_timestamp(), interval -4 day));
purge master logs before adddate(current_timestamp(), interval -4 day);
# #
# Bug#18503: Queries with a quantified subquery returning empty set may # Bug#18503: Queries with a quantified subquery returning empty set may
......
...@@ -3567,7 +3567,8 @@ select_derived2: ...@@ -3567,7 +3567,8 @@ select_derived2:
LEX *lex= Lex; LEX *lex= Lex;
lex->derived_tables= 1; lex->derived_tables= 1;
if (lex->sql_command == (int)SQLCOM_HA_READ || if (lex->sql_command == (int)SQLCOM_HA_READ ||
lex->sql_command == (int)SQLCOM_KILL) lex->sql_command == (int)SQLCOM_KILL ||
lex->sql_command == (int)SQLCOM_PURGE)
{ {
yyerror(ER(ER_SYNTAX_ERROR)); yyerror(ER(ER_SYNTAX_ERROR));
YYABORT; YYABORT;
...@@ -4748,6 +4749,7 @@ purge: ...@@ -4748,6 +4749,7 @@ purge:
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->type=0; lex->type=0;
lex->sql_command = SQLCOM_PURGE;
} purge_options } purge_options
{} {}
; ;
...@@ -4759,7 +4761,6 @@ purge_options: ...@@ -4759,7 +4761,6 @@ purge_options:
purge_option: purge_option:
TO_SYM TEXT_STRING_sys TO_SYM TEXT_STRING_sys
{ {
Lex->sql_command = SQLCOM_PURGE;
Lex->to_log = $2.str; Lex->to_log = $2.str;
} }
| BEFORE_SYM expr | BEFORE_SYM expr
...@@ -6212,7 +6213,8 @@ subselect_start: ...@@ -6212,7 +6213,8 @@ subselect_start:
{ {
LEX *lex=Lex; LEX *lex=Lex;
if (lex->sql_command == (int)SQLCOM_HA_READ || if (lex->sql_command == (int)SQLCOM_HA_READ ||
lex->sql_command == (int)SQLCOM_KILL) lex->sql_command == (int)SQLCOM_KILL ||
lex->sql_command == (int)SQLCOM_PURGE)
{ {
yyerror(ER(ER_SYNTAX_ERROR)); yyerror(ER(ER_SYNTAX_ERROR));
YYABORT; YYABORT;
......
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