Commit 3f6daf6e authored by igor@rurik.mysql.com's avatar igor@rurik.mysql.com

Manual merge

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