60template <
typename Table>
 
   77                   const TABLE *altered_table, 
const Table *old_dd_tab,
 
   78                   Table *new_dd_tab, uint64_t *autoinc)
 
Class describing changes to be done by ALTER TABLE.
Definition: handler.h:3516
 
Definition: dict0inst.h:61
 
Instant_ddl_impl(Alter_inplace_info *alter_info, THD *thd, trx_t *trx, dict_table_t *dict_table, const TABLE *old_table, const TABLE *altered_table, const Table *old_dd_tab, Table *new_dd_tab, uint64_t *autoinc)
Constructor.
Definition: dict0inst.h:75
 
dict_table_t * m_dict_table
Definition: dict0inst.h:153
 
trx_t * m_trx
Definition: dict0inst.h:150
 
bool commit_instant_drop_col_low()
Add column instantly.
Definition: dict0inst.cc:161
 
Columns m_cols_to_drop
Definition: dict0inst.h:141
 
Columns m_cols_to_add
Definition: dict0inst.h:138
 
Instant_ddl_impl()=delete
 
bool commit_instant_add_col()
Add columns instantly.
 
bool commit_instant_add_col_low()
Add column instantly.
Definition: dict0inst.cc:123
 
Table * m_new_dd_tab
Definition: dict0inst.h:165
 
const TABLE * m_altered_table
Definition: dict0inst.h:159
 
THD * m_thd
Definition: dict0inst.h:147
 
void populate_to_be_instant_columns()
Fetch columns which are to be added or dropped instantly.
Definition: dict0inst.cc:427
 
~Instant_ddl_impl()
Destructor.
Definition: dict0inst.h:90
 
bool commit_instant_ddl()
Commit instant DDL.
Definition: dict0inst.cc:198
 
Alter_inplace_info * m_ha_alter_info
Definition: dict0inst.h:144
 
bool commit_instant_drop_col()
Drop columns instantly.
 
void dd_commit_inplace_no_change(bool ignore_fts)
Update metadata in commit phase when the alter table does no change to the table.
Definition: dict0inst.cc:434
 
uint64_t * m_autoinc
Definition: dict0inst.h:167
 
const TABLE * m_old_table
Definition: dict0inst.h:156
 
const Table * m_old_dd_tab
Definition: dict0inst.h:162
 
static bool is_instant_add_drop_possible(const Alter_inplace_info *ha_alter_info, const TABLE *table, const TABLE *altered_table, const dict_table_t *dict_table)
Check if INSTANT ADD/DROP can be done.
Definition: dict0inst.cc:42
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
 
Data dictionary interface.
 
std::vector< Field * > Columns
Definition: dict0dd.h:787
 
Instant_Type
Flags indicating if current operation can be done instantly.
Definition: dict0inst.h:40
 
@ INSTANT_VIRTUAL_ONLY
Adding or dropping virtual columns only.
 
@ INSTANT_NO_CHANGE
Can be instant without any change.
 
@ INSTANT_ADD_DROP_COLUMN
ADD/DROP COLUMN which can be done instantly, including adding/dropping stored column only (or along w...
 
@ INSTANT_COLUMN_RENAME
Column rename.
 
@ INSTANT_IMPOSSIBLE
Impossible to alter instantly.
 
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
 
entry::Table Table
Definition: select.h:51
 
Data structure for a database table.
Definition: dict0mem.h:1922
 
Definition: trx0trx.h:675