• Konstantin Osipov's avatar
    A review comment for WL#4441 " LOCK_open: Remove requirement of · 8d425341
    Konstantin Osipov authored
    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().
    8d425341
sql_handler.cc 27.2 KB