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

@ -154,6 +154,7 @@ LEX *lex_start(THD *thd, uchar *buf,uint length)
lex->ignore_space=test(thd->sql_mode & MODE_IGNORE_SPACE);
lex->slave_thd_opt=0;
lex->sql_command=SQLCOM_END;
lex->safe_to_cache_query= 1;
bzero(&lex->mi,sizeof(lex->mi));
return lex;
}
@ -182,7 +183,7 @@ static int find_keyword(LEX *lex, uint len, bool function)
udf_func *udf;
if (function && using_udf_functions && (udf=find_udf((char*) tok, len)))
{
lex->thd->safe_to_cache_query=0;
lex->safe_to_cache_query=0;
lex->yylval->udf=udf;
switch (udf->returns) {
case STRING_RESULT: