diff options
author | Konstantin Osipov <kostja@sun.com> | 2010-06-09 12:39:09 +0400 |
---|---|---|
committer | Konstantin Osipov <kostja@sun.com> | 2010-06-09 12:39:09 +0400 |
commit | 8d4253418292112932d798f23707ee95acc13ce3 (patch) | |
tree | 5cfb374f50804886b5d4c4eb4015fb98392a341b /sql/sql_handler.h | |
parent | db716d11af3d3a5a3a58fde97c4252182c0e4a09 (diff) | |
download | mariadb-git-8d4253418292112932d798f23707ee95acc13ce3.tar.gz |
A review comment for WL#4441 " LOCK_open: Remove requirement of
mutex protecting thd->open_tables".
We should not manipulate with table->s->version outside the
table definition cache code, but use the TDC API
to achieve the desired result.
Fix one violation: close_all_tables_for_name().
sql/sql_base.cc:
Use tdc_remove_table(TDC_RT_REMOVE_ALL) to expel the
table share in close_all_tables_for_name, rather
than manipulate with the table cache explicitly.
Make sure that close_cached_tables() calls
close_all_tables_for_name() after closing all the involved
handlers. The rest of the code was inspected to
make sure that mysql_ha_rm_tables() is called.
sql/sql_handler.cc:
Add a method to close all HANDLER cursors for a list
of tables.
sql/sql_handler.h:
Add declaration for mysql_ha_flush_tables().
Diffstat (limited to 'sql/sql_handler.h')
-rw-r--r-- | sql/sql_handler.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_handler.h b/sql/sql_handler.h index 8666d5a8d7b..c5da3c4d468 100644 --- a/sql/sql_handler.h +++ b/sql/sql_handler.h @@ -28,6 +28,7 @@ bool mysql_ha_close(THD *thd, TABLE_LIST *tables); bool mysql_ha_read(THD *, TABLE_LIST *,enum enum_ha_read_modes,char *, List<Item> *,enum ha_rkey_function,Item *,ha_rows,ha_rows); void mysql_ha_flush(THD *thd); +void mysql_ha_flush_tables(THD *thd, TABLE_LIST *all_tables); void mysql_ha_rm_tables(THD *thd, TABLE_LIST *tables); void mysql_ha_cleanup(THD *thd); void mysql_ha_move_tickets_after_trans_sentinel(THD *thd); |