diff options
author | unknown <bell@sanja.is.com.ua> | 2003-11-17 20:53:40 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-11-17 20:53:40 +0200 |
commit | 5b4fcb8e6c84d36d18dbfb37af8cf9e690d6e708 (patch) | |
tree | ed274b7466c7617feeb74030a1c60751ff018af5 /sql/sql_lex.cc | |
parent | 2ccf418e894e03d51f1c7a9751fcbd21eb00bb5c (diff) | |
download | mariadb-git-5b4fcb8e6c84d36d18dbfb37af8cf9e690d6e708.tar.gz |
fixed using 'uncachable' tag and RAND_TABLE_BIT setting
sql/item_create.cc:
specify cause of uncachability
sql/item_func.cc:
specify cause of uncachability
sql/item_subselect.cc:
fixed setting RAND_TABLE_BIT
specify cause of uncachability
sql/item_subselect.h:
used one field for all uncachability causes
sql/mysql_priv.h:
causes of uncachability
sql/sql_lex.cc:
specify cause of uncachability
sql/sql_lex.h:
used one field for all uncachability causes
sql/sql_select.cc:
used one field for all uncachability causes
sql/sql_union.cc:
used one field for all uncachability causes
sql/sql_yacc.yy:
specify cause of uncachability
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index a55b801a0fc..f9fb2a5529f 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -965,7 +965,8 @@ void st_select_lex_node::init_query() { options= 0; linkage= UNSPECIFIED_TYPE; - no_error= no_table_names_allowed= uncacheable= dependent= 0; + no_error= no_table_names_allowed= 0; + uncacheable= 0; } void st_select_lex_node::init_select() @@ -1215,12 +1216,12 @@ void st_select_lex::mark_as_dependent(SELECT_LEX *last) for (SELECT_LEX *s= this; s && s != last; s= s->outer_select()) - if ( !s->dependent ) + if (!(s->uncacheable & UNCACHEABLE_DEPENDENT)) { // Select is dependent of outer select - s->dependent= s->uncacheable= 1; + s->uncacheable|= UNCACHEABLE_DEPENDENT; SELECT_LEX_UNIT *munit= s->master_unit(); - munit->dependent= munit->uncacheable= 1; + munit->uncacheable|= UNCACHEABLE_DEPENDENT; //Tables will be reopened many times for (TABLE_LIST *tbl= s->get_table_list(); tbl; |