diff options
author | unknown <bell@sanja.is.com.ua> | 2002-04-29 00:33:52 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-04-29 00:33:52 +0300 |
commit | 3c0e609165197d03d067fed2157673ae42652f26 (patch) | |
tree | f74bb7c0172682417236403294a4f2b39e49af7f /sql/sql_table.cc | |
parent | a2ce6c71b836c627e71fe37f0aa312b11e59f571 (diff) | |
download | mariadb-git-3c0e609165197d03d067fed2157673ae42652f26.tar.gz |
invalidation moved before tables unlocking
sql/sql_delete.cc:
invalidation moved before tables unlocking
invalidation on multidelete error (if something changed)
sql/sql_parse.cc:
invalidation moved to mysql_admin_table
layout fixing
sql/sql_table.cc:
invalidation moved to mysql_admin_table
sql/sql_update.cc:
invalidation moved before tables unlocking
invalidation on multiupdate error (if something changed)
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index dcbfd709f97..4a782d396c2 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1120,8 +1120,12 @@ static int mysql_admin_table(THD* thd, TABLE_LIST* tables, if (fatal_error) table->table->version=0; // Force close of table else if (open_for_modify) + { remove_table_from_cache(thd, table->table->table_cache_key, table->table->real_name); + /* May be something modified consequently we have to invalidate cache */ + query_cache_invalidate3(thd, table->table, 0); + } close_thread_tables(thd); table->table=0; // For query cache if (my_net_write(&thd->net, (char*) packet->ptr(), |