1
0
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:
unknown
2002-11-22 14:50:53 +01:00
parent 5a70f257c9
commit 0e9a75a4f7
11 changed files with 44 additions and 39 deletions

View File

@ -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);