mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
69724805bc
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> |
||
---|---|---|
.. | ||
alter_partition,innodb.rdiff | ||
alter_partition.combinations | ||
alter_partition.result | ||
alter_partition.test | ||
alter_table.opt | ||
alter_table.result | ||
alter_table.test | ||
alter_table_aria.result | ||
alter_table_aria.test | ||
alter_table_big_query.result | ||
alter_table_big_query.test | ||
alter_table_rocksdb.result | ||
alter_table_rocksdb.test | ||
alter_table_trigger.result | ||
alter_table_trigger.test | ||
create_table.result | ||
create_table.test | ||
create_trigger.result | ||
create_trigger.test | ||
create_trigger2.result | ||
create_trigger2.test | ||
create_view.result | ||
create_view.test | ||
drop_db.result | ||
drop_db.test | ||
drop_db_long_names.opt | ||
drop_db_long_names.result | ||
drop_db_long_names.test | ||
drop_sequence.result | ||
drop_sequence.test | ||
drop_table.result | ||
drop_table.test | ||
drop_trigger.result | ||
drop_trigger.test | ||
drop_view.result | ||
drop_view.test | ||
README.txt | ||
rename_case.result | ||
rename_case.test | ||
rename_combinations.result | ||
rename_combinations.test | ||
rename_table.result | ||
rename_table.test | ||
rename_table_binlog.result | ||
rename_table_binlog.test | ||
rename_trigger.result | ||
rename_trigger.test | ||
rename_view.result | ||
rename_view.test | ||
rename_view2.result | ||
rename_view2.test |
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