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().
This patch:
- Moves all definitions from the mysql_priv.h file into
header files for the component where the variable is
defined
- Creates header files if the component lacks one
- Eliminates all include directives from mysql_priv.h
- Eliminates all circular include cycles
- Rename time.cc to sql_time.cc
- Rename mysql_priv.h to sql_priv.h