MySQL 8.0.40
Source Code Documentation
|
This class keeps the context of transactional DDL statements. More...
#include <sql_class.h>
Public Member Functions | |
Transactional_ddl_context (THD *thd) | |
~Transactional_ddl_context () | |
void | init (dd::String_type db, dd::String_type tablename, const handlerton *hton) |
Initialize the transactional ddl context when executing CREATE TABLE ... SELECT command with engine which supports atomic DDL. More... | |
bool | inited () |
void | rollback () |
Remove the table share used while creating the table, if the transaction is being rolledback. More... | |
void | post_ddl () |
End the transactional context created by calling post ddl hook for engine on which table is being created. More... | |
Private Attributes | |
THD * | m_thd {nullptr} |
const handlerton * | m_hton {nullptr} |
dd::String_type | m_db {} |
dd::String_type | m_tablename {} |
This class keeps the context of transactional DDL statements.
Currently only CREATE TABLE with START TRANSACTION uses this context.
|
inlineexplicit |
|
inline |
void Transactional_ddl_context::init | ( | dd::String_type | db, |
dd::String_type | tablename, | ||
const handlerton * | hton | ||
) |
Initialize the transactional ddl context when executing CREATE TABLE ... SELECT command with engine which supports atomic DDL.
db | Schema name in which table is being created. |
tablename | Table name being created. |
hton | Handlerton representing engine used for table. |
|
inline |
void Transactional_ddl_context::post_ddl | ( | ) |
End the transactional context created by calling post ddl hook for engine on which table is being created.
This is done after transaction rollback and commit.
void Transactional_ddl_context::rollback | ( | ) |
Remove the table share used while creating the table, if the transaction is being rolledback.
|
private |
|
private |
|
private |