mirror of
https://github.com/MariaDB/server.git
synced 2025-11-08 00:28:29 +03:00
Syntax for CONVERT TABLE
ALTER TABLE tbl_name CONVERT TABLE tbl_name TO PARTITION partition_name partition_spec
Examples:
ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 VALUES LESS THAN MAX_VALUE();
New ALTER_PARTITION_CONVERT_IN command for
fast_alter_partition_table() is done in alter_partition_convert_in()
function which basically does ha_rename_table().
Table structure and data check is basically the same as in EXCHANGE
PARTITION command. And these are done by
compare_table_with_partition() and check_table_data().
Atomic DDL is done by the scheme from MDEV-22166 (see the
corresponding commit message). The only differnce is that it also has
to drop source table frm and that is done by WFRM_DROP_CONVERTED_FROM.
Initial patch was done by Dmitry Shulga <dmitry.shulga@mariadb.com>
To debug a the ddl_recovery code in a failing ddl_recovery test one could do the following: - Add # before --exec echo "restart" ... - Force $e (engine), $c (crash point) and $r (crash position) to the values where things goes wrong. See comments in alter_table.test for how to do this. - start mariadbd in a debugger run the following in the debugger (Replace 'atomic.create_trigger' with the failing test case) #break ha_recover #break MYSQL_BIN_LOG::recover #break MYSQL_BIN_LOG::open break ddl_log_close_binlogged_events break ddl_log_execute_action break ddl_log_execute_recovery run --datadir=/my/maria-10.6/mysql-test/var/log/atomic.create_trigger/mysqld.1/data --log-basename=master --log-bin-index=mysqld-bin.index --debug --log-bin