MySQL 8.3.0
Source Code Documentation
innobase_basic_ddl Class Reference

Class of basic DDL implementation, for CREATE/DROP/RENAME TABLE. More...

#include <ha_innodb.h>

Static Public Member Functions

template<typename Table >
static int create_impl (THD *thd, const char *name, TABLE *form, HA_CREATE_INFO *create_info, Table *dd_tab, bool file_per_table, bool evictable, bool skip_strict, uint32_t old_flags, uint32_t old_flags2, const dd::Table *old_dd_table)
 Create an InnoDB table. More...
 
template<typename Table >
static int delete_impl (THD *thd, const char *name, const Table *dd_tab, const TABLE *td)
 Drop an InnoDB table. More...
 
template<typename Table >
static int rename_impl (THD *thd, const char *from, const char *to, const Table *from_table, const Table *to_table, const TABLE *td)
 Renames an InnoDB table. More...
 

Detailed Description

Class of basic DDL implementation, for CREATE/DROP/RENAME TABLE.

Member Function Documentation

◆ create_impl()

template<typename Table >
int innobase_basic_ddl::create_impl ( THD thd,
const char *  name,
TABLE form,
HA_CREATE_INFO create_info,
Table *  dd_tab,
bool  file_per_table,
bool  evictable,
bool  skip_strict,
uint32_t  old_flags,
uint32_t  old_flags2,
const dd::Table old_dd_table 
)
static

Create an InnoDB table.

Template Parameters
Tabledd::Table or dd::Partition
Parameters
[in,out]thdTHD object
[in]nameTable name, format: "db/table_name"
[in]formTable format; columns and index information
[in]create_infoCreate info(including create statement string)
[in,out]dd_tabdd::Table describing table to be created
[in]file_per_tablewhether to create a tablespace too
[in]evictablewhether the caller wants the dict_table_t to be kept in memory
[in]skip_strictwhether to skip strict check for create option
[in]old_flagsold Table flags
[in]old_flags2old Table flags2
[in]old_dd_tableTable def for old table. Used in truncate or while adding a new partition
Returns
error number
Return values
0on success

◆ delete_impl()

template<typename Table >
int innobase_basic_ddl::delete_impl ( THD thd,
const char *  name,
const Table *  dd_tab,
const TABLE td 
)
static

Drop an InnoDB table.

Template Parameters
Tabledd::Table or dd::Partition
Parameters
[in,out]thdTHD object
[in]nametable name
[in]dd_tabdd::Table describing table to be dropped
[in]tdMySQL table definition
Returns
error number
Return values
0on success

◆ rename_impl()

template<typename Table >
int innobase_basic_ddl::rename_impl ( THD thd,
const char *  from,
const char *  to,
const Table *  from_table,
const Table *  to_table,
const TABLE td 
)
static

Renames an InnoDB table.

Template Parameters
Tabledd::Table or dd::Partition
Parameters
[in,out]thdTHD object
[in]fromold name of the table
[in]tonew name of the table
[in]from_tabledd::Table or dd::Partition of the table with old name
[in]to_tabledd::Table or dd::Partition of the table with new name
[in]tdMySQL table definition
Returns
error number
Return values
0on success

The documentation for this class was generated from the following files: