diff options
author | unknown <bell@sanja.is.com.ua> | 2004-03-04 18:32:55 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-03-04 18:32:55 +0200 |
commit | d4f43e511ceb9a9f010f2a504a735699a8872b9b (patch) | |
tree | f122123efc8dd764d21d073a89045021aecd2992 /sql/sql_parse.cc | |
parent | 53368efea3aee3ef99a82118c130c00d8f84b47c (diff) | |
download | mariadb-git-d4f43e511ceb9a9f010f2a504a735699a8872b9b.tar.gz |
invalidation of locking for write tables (BUG#2693)
fixed linking query_prealloc_size to query cache presence
mysql-test/r/query_cache.result:
test of QC invalidation by LOCK command
mysql-test/t/query_cache.test:
test of QC invalidation by LOCK command
sql/mysqld.cc:
new variable query_cache_wlock_invalidate
fixed query_prealloc_size with QC absence
sql/set_var.cc:
new variable query_cache_wlock_invalidate
sql/sql_cache.cc:
new method for table invalidation
sql/sql_cache.h:
new method for table invalidation
sql/sql_class.h:
new variable query_cache_wlock_invalidate
sql/sql_parse.cc:
layout fixed
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index ac3ccd4fc62..bc69f7136ad 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2307,8 +2307,12 @@ mysql_execute_command(void) goto error; thd->in_lock_tables=1; thd->options|= OPTION_TABLE_LOCK; - if (!(res=open_and_lock_tables(thd,tables))) + if (!(res= open_and_lock_tables(thd, tables))) { +#ifdef HAVE_QUERY_CACHE + if (thd->variables.query_cache_wlock_invalidate) + query_cache.invalidate_locked_for_write(tables); +#endif /*HAVE_QUERY_CACHE*/ thd->locked_tables=thd->lock; thd->lock=0; send_ok(&thd->net); |