mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Moved safe_to_cache_query from thd to lex.
This is required for prepared statements and stored procedures. BitKeeper/etc/ignore: Added bkpull.log bkpull.log.2 bkpull.log.3 build.log sql/safe_to_cache_query.txt to the ignore list sql/item_create.cc: Moved safe_to_cache_query from thd to lex. sql/item_func.cc: Moved safe_to_cache_query from thd to lex. sql/sql_cache.cc: Moved safe_to_cache_query from thd to lex. Note: Query_cache::is_cacheable() has both a thd and lex argument. We assumed that it's the lex->safe_to_cache_query we should test. sql/sql_class.cc: Moved safe_to_cache_query from thd to lex. sql/sql_class.h: Moved safe_to_cache_query from thd to lex. sql/sql_lex.cc: Moved safe_to_cache_query from thd to lex. We set it to 1 initially. It's then set to 0 in cases where it's know not to be safe. (Before this change, it was set to 0 in thd, and then set to 1 before parsing.) sql/sql_lex.h: Moved safe_to_cache_query from thd to lex. sql/sql_parse.cc: Moved safe_to_cache_query from thd to lex. No point in setting it here now, it's set in lex_start() later. sql/sql_prepare.cc: Moved safe_to_cache_query from thd to lex. Must set it after lex_start() has been called. sql/sql_yacc.yy: Moved safe_to_cache_query from thd to lex.
This commit is contained in:
@ -606,9 +606,9 @@ static bool parse_prepare_query(PREP_STMT *stmt,
|
||||
mysql_log.write(thd,COM_PREPARE,"%s",packet);
|
||||
mysql_init_query(thd);
|
||||
thd->prepare_command=true;
|
||||
thd->safe_to_cache_query= 0;
|
||||
|
||||
LEX *lex=lex_start(thd, (uchar*) packet, length);
|
||||
lex->safe_to_cache_query= 0;
|
||||
if (!yyparse() && !thd->fatal_error)
|
||||
error= send_prepare_results(stmt);
|
||||
lex_end(lex);
|
||||
|
Reference in New Issue
Block a user