summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy29
1 files changed, 23 insertions, 6 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 42ac943e369..4923be08a49 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -107,6 +107,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token MASTER_SYM
%token REPAIR
%token RESET_SYM
+%token PURGE
%token SLAVE
%token START_SYM
%token STOP_SYM
@@ -495,7 +496,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
query verb_clause create change select drop insert replace insert2
insert_values update delete truncate rename
show describe load alter optimize flush
- reset begin commit rollback slave master_def master_defs
+ reset purge begin commit rollback slave master_def master_defs
repair restore backup analyze check
field_list field_list_item field_spec kill
select_item_list select_item values_list no_braces
@@ -551,6 +552,7 @@ verb_clause:
| lock
| kill
| optimize
+ | purge
| rename
| repair
| replace
@@ -1031,14 +1033,18 @@ alter:
lex->col_list.empty();
lex->drop_list.empty();
lex->alter_list.empty();
+ lex->order_list.elements=0;
+ lex->order_list.first=0;
+ lex->order_list.next= (byte**) &lex->order_list.first;
lex->db=lex->name=0;
bzero((char*) &lex->create_info,sizeof(lex->create_info));
lex->create_info.db_type= DB_TYPE_DEFAULT;
}
- alter_list opt_create_table_options
-
+ alter_list order_clause opt_create_table_options
+
alter_list:
- alter_list_item
+ /* empty */
+ | alter_list_item
| alter_list ',' alter_list_item
add_column:
@@ -1076,7 +1082,7 @@ alter_list_item:
{ Lex->alter_list.push_back(new Alter_column($3.str,(Item*) 0)); }
| RENAME opt_to table_alias table_ident
{ Lex->db=$4->db.str ; Lex->name= $4->table.str; }
- | create_table_option
+ | opt_create_table_options
opt_column:
/* empty */ {}
@@ -2156,6 +2162,10 @@ show_param:
if (!add_table_to_list($3,NULL))
YYABORT;
}
+ | MASTER_SYM LOGS_SYM
+ {
+ Lex->sql_command = SQLCOM_SHOW_BINLOGS;
+ }
| keys_or_index FROM table_ident opt_db
{
Lex->sql_command= SQLCOM_SHOW_KEYS;
@@ -2255,6 +2265,13 @@ reset_option:
SLAVE { Lex->type|= REFRESH_SLAVE; }
| MASTER_SYM { Lex->type|= REFRESH_MASTER; }
+purge:
+ PURGE { Lex->sql_command = SQLCOM_PURGE; Lex->type=0;}
+ MASTER_SYM LOGS_SYM TO_SYM TEXT_STRING
+ {
+ Lex->to_log = $6.str;
+ }
+
/* kill threads */
kill:
@@ -2848,7 +2865,7 @@ grant_option:
| WITH GRANT OPTION { Lex->grant |= GRANT_ACL;}
begin:
- BEGIN_SYM { Lex->sql_command = SQLCOM_COMMIT;} opt_work
+ BEGIN_SYM { Lex->sql_command = SQLCOM_BEGIN;} opt_work
opt_work:
/* empty */ {}