![]()  | 
  
    MySQL 8.0.44
    
   Source Code Documentation 
   | 
 
Atomic rename of table; RENAME TABLE t1 to t2, tmp to t1 [,...]. More...
#include "sql/sql_rename.h"#include <string.h>#include <set>#include "my_dbug.h"#include "my_inttypes.h"#include "my_murmur3.h"#include "my_sys.h"#include "mysql/components/services/log_shared.h"#include "mysqld_error.h"#include "sql/dd/cache/dictionary_client.h"#include "sql/dd/dd_table.h"#include "sql/dd/properties.h"#include "sql/dd/types/abstract_table.h"#include "sql/dd/types/table.h"#include "sql/dd_sql_view.h"#include "sql/derror.h"#include "sql/handler.h"#include "sql/log.h"#include "sql/mysqld.h"#include "sql/sp_cache.h"#include "sql/sql_base.h"#include "sql/sql_class.h"#include "sql/sql_handler.h"#include "sql/sql_table.h"#include "sql/sql_trigger.h"#include "sql/system_variables.h"#include "sql/table.h"#include "sql/thd_raii.h"#include "sql/transaction.h"Classes | |
| struct | anonymous_namespace{sql_rename.cc}::table_list_hash | 
| struct | anonymous_namespace{sql_rename.cc}::table_list_equal | 
Namespaces | |
| namespace | dd | 
| The version of the current data dictionary table definitions.  | |
| namespace | anonymous_namespace{sql_rename.cc} | 
Typedefs | |
| typedef std::set< handlerton * > | post_ddl_htons_t | 
Functions | |
| static Table_ref * | rename_tables (THD *thd, Table_ref *table_list, bool *int_commit_done, post_ddl_htons_t *post_ddl_htons, Foreign_key_parents_invalidator *fk_invalidator) | 
| Rename all tables/views in the list.  More... | |
| static Table_ref * | reverse_table_list (Table_ref *table_list) | 
| static bool | check_if_owns_upgradable_mdl (THD *thd, const char *db, const char *table_name) | 
| Check if connection owns SNRW metadata lock on table or view.  More... | |
| static void | find_and_set_explicit_duration_for_schema_mdl (THD *thd, Table_ref *table, Prealloced_array< MDL_request *, 1 > *schema_reqs) | 
| Find metadata lock request for table's schema in the set of schema requests and set duration of corresponding lock to explicit.  More... | |
| bool | mysql_rename_tables (THD *thd, Table_ref *table_list) | 
| Rename tables from the list.  More... | |
| static bool | do_rename (THD *thd, Table_ref *ren_table, const char *new_db, const char *new_table_name, const char *new_table_alias, bool *int_commit_done, std::set< handlerton * > *post_ddl_htons, Foreign_key_parents_invalidator *fk_invalidator) | 
| Rename a single table or a view.  More... | |
Atomic rename of table; RENAME TABLE t1 to t2, tmp to t1 [,...].
| typedef std::set<handlerton *> post_ddl_htons_t | 
      
  | 
  static | 
Check if connection owns SNRW metadata lock on table or view.
Report appropriate error if not.
      
  | 
  static | 
Rename a single table or a view.
| [in] | thd | Thread handle. | 
| [in] | ren_table | A table/view to be renamed. | 
| [in] | new_db | The database to which the table to be moved to. | 
| [in] | new_table_name | The new table/view name. | 
| [in] | new_table_alias | The new table/view alias. | 
| [in,out] | int_commit_done | Whether intermediate commits were done. | 
| [in,out] | post_ddl_htons | Set of SEs supporting atomic DDL for which post-DDL hooks needs to be called. | 
| [in,out] | fk_invalidator | Object keeping track of which dd::Table objects to invalidate. | 
      
  | 
  static | 
Find metadata lock request for table's schema in the set of schema requests and set duration of corresponding lock to explicit.
Rename tables from the list.
| thd | Thread context. | 
| table_list | Every two entries in the table_list form a pair of original name and the new name. | 
      
  | 
  static | 
Rename all tables/views in the list.
| [in] | thd | Thread handle. | 
| [in] | table_list | List of tables to rename. | 
| [in,out] | int_commit_done | Whether intermediate commits were done. | 
| [in,out] | post_ddl_htons | Set of SEs supporting atomic DDL for which post-DDL hooks needs to be called. | 
| [in,out] | fk_invalidator | Object keeping track of which dd::Table objects to invalidate. |