summaryrefslogtreecommitdiff
path: root/mysys/waiting_threads.c
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-11-11 22:27:03 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2017-12-08 10:07:51 +0200
commit07e9ff1fe18999e1acd640ee3b2169c3f506fb35 (patch)
tree3bd30ab2f92eaacfbb4b8de759a4641200cde628 /mysys/waiting_threads.c
parent0a02c1a6678f8ee278224ebd8ddfe74ee852cfb7 (diff)
downloadmariadb-git-07e9ff1fe18999e1acd640ee3b2169c3f506fb35.tar.gz
MDEV-14378 In ALGORITHM=INPLACE, use a common name for the intermediate tables or partitions
Allow DROP TABLE `#mysql50##sql-...._.` to drop tables that were being rebuilt by ALGORITHM=INPLACE NOTE: If the server is killed after the table-rebuilding ALGORITHM=INPLACE commits inside InnoDB but before the .frm file has been replaced, then the recovery will involve something else than DROP TABLE. NOTE: If the server is killed in a true inplace ALTER TABLE commits inside InnoDB but before the .frm file has been replaced, then we are really out of luck. To properly handle that situation, we would need a transactional mysql.ddl_fixup table that directs recovery to rename or remove files. prepare_inplace_alter_table_dict(): Use the altered_table->s->table_name for generating the new_table_name. table_name_t::part_suffix: The start of the partition name suffix. table_name_t::dbend(): Return the end of the schema name. table_name_t::dblen(): Return the length of the schema name, in bytes. table_name_t::basename(): Return the name without the schema name. table_name_t::part(): Return the partition name, or NULL if none. row_drop_table_for_mysql(): Assert for #sql, not #sql-ib.
Diffstat (limited to 'mysys/waiting_threads.c')
0 files changed, 0 insertions, 0 deletions