• Aleksey Midenkov's avatar
    MDEV-22165 CONVERT TABLE: move in partition from existing table · 69724805
    Aleksey Midenkov authored
    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>
    69724805
sql_partition_admin.cc 35.7 KB