Commit f84aefc3 authored by unknown's avatar unknown

Manual merge

parent f6758b47
......@@ -668,12 +668,12 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%type <NONE>
query verb_clause create change select do drop insert replace insert2
insert_values update delete truncate rename
show describe load alter optimize preload flush
show describe load alter optimize keycache preload flush
reset purge begin commit rollback savepoint
slave master_def master_defs
repair restore backup analyze check start
field_list field_list_item field_spec kill column_def key_def
preload_list preload_keys
keycache_list assign_to_keycache preload_list preload_keys
select_item_list select_item values_list no_braces
opt_limit_clause delete_limit_clause fields opt_values values
procedure_list procedure_list2 procedure_item
......@@ -742,6 +742,7 @@ verb_clause:
| lock
| kill
| optimize
| keycache
| preload
| purge
| rename
......@@ -1879,6 +1880,45 @@ table_to_table:
YYABORT;
};
keycache:
CACHE_SYM INDEX
{
LEX *lex=Lex;
lex->sql_command=SQLCOM_ASSIGN_TO_KEYCACHE;
}
keycache_list
{}
;
keycache_list:
assign_to_keycache
| keycache_list ',' assign_to_keycache;
assign_to_keycache:
table_ident cache_keys_spec IN_SYM ident
{
LEX *lex=Lex;
SELECT_LEX *sel= &lex->select_lex;
if (!sel->add_table_to_list(lex->thd, $1, NULL, 0,
TL_READ,
sel->get_use_index(),
(List<String> *)0,
&($4)))
YYABORT;
}
|
table_ident cache_keys_spec IN_SYM DEFAULT
{
LEX *lex=Lex;
SELECT_LEX *sel= &lex->select_lex;
if (!sel->add_table_to_list(lex->thd, $1, NULL, 0,
TL_READ,
sel->get_use_index(),
(List<String> *)0))
YYABORT;
}
;
preload:
LOAD INDEX INTO CACHE_SYM
{
......@@ -1894,7 +1934,7 @@ preload_list:
| preload_list ',' preload_keys;
preload_keys:
table_ident preload_keys_spec opt_ignore_leaves
table_ident cache_keys_spec opt_ignore_leaves
{
LEX *lex=Lex;
SELECT_LEX *sel= &lex->select_lex;
......@@ -1908,7 +1948,7 @@ preload_keys:
preload_keys_spec:
keys_or_index { Select->interval_list.empty(); }
preload_key_list_or_empty
cache_key_list_or_empty
{
LEX *lex=Lex;
SELECT_LEX *sel= &lex->select_lex;
......@@ -1917,7 +1957,7 @@ preload_keys_spec:
}
;
preload_key_list_or_empty:
cache_key_list_or_empty:
/* empty */
| '(' key_usage_list2 ')' {}
;
......
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