--source include/have_innodb.inc --source include/have_partition.inc --source include/have_symlink.inc --echo # --echo # MDEV-15953 Alter InnoDB Partitioned Table Moves Files (which were originally not in the datadir) to the datadir --echo # mkdir $MYSQLTEST_VARDIR/tmp/partitions_here; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t ( a INT NOT NULL ) ENGINE=INNODB PARTITION BY HASH (a) ( PARTITION p1 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_here/' ENGINE = INNODB, PARTITION p2 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_here/' ENGINE = INNODB ); INSERT INTO t VALUES (1); --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR SHOW CREATE TABLE t; ALTER TABLE t ADD PRIMARY KEY pk(a), ALGORITHM=INPLACE; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR SHOW CREATE TABLE t; ALTER TABLE t DROP PRIMARY KEY, ALGORITHM=COPY; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR SHOW CREATE TABLE t; SET @TMP = @@GLOBAL.INNODB_FILE_PER_TABLE; SET GLOBAL INNODB_FILE_PER_TABLE=OFF; ALTER TABLE t ADD PRIMARY KEY pk(a), ALGORITHM=INPLACE; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR SHOW CREATE TABLE t; SET GLOBAL INNODB_FILE_PER_TABLE=@TMP; --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval ALTER TABLE t REORGANIZE PARTITION p1,p2 INTO ( PARTITION p1 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_somewhere_else/' ENGINE = INNODB, PARTITION p2 DATA DIRECTORY = '$MYSQLTEST_VARDIR/tmp/partitions_somewhere_else/' ENGINE = INNODB ); --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR SHOW CREATE TABLE t; DROP TABLE t; rmdir $MYSQLTEST_VARDIR/tmp/partitions_here/test; rmdir $MYSQLTEST_VARDIR/tmp/partitions_here;