1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-13584 Assertion `!part_elem->tablespace_name && !table_create_info->tablespace' failed during EXCHANGE PARTITION with different TABLESPACE.

Wrong DBUG_ASSERT just removed.
This commit is contained in:
Alexey Botchkov
2018-04-17 16:10:47 +04:00
parent 02e897ca57
commit bb5f4967f5
3 changed files with 24 additions and 2 deletions

View File

@ -1297,3 +1297,14 @@ SHOW WARNINGS;
Level Code Message Level Code Message
UNLOCK TABLES; UNLOCK TABLES;
DROP TABLE t, t2, tp; DROP TABLE t, t2, tp;
#
# Assertion `!part_elem->tablespace_name && !table_create_info->tablespace'
# failed during EXCHANGE PARTITION with different TABLESPACE.
#
CREATE TABLE t1 (a VARCHAR(200)) PARTITION BY KEY(a) partitions 10;
ALTER TABLE t1 ADD PARTITION (PARTITION pm TABLESPACE = `innodb_file_per_table`);
CREATE TABLE t2 like t1;
ALTER TABLE t2 REMOVE PARTITIONING;
ALTER TABLE t1 EXCHANGE PARTITION pm WITH TABLE t2;
ERROR HY000: Non matching attribute 'TABLESPACE' between partition and table
DROP TABLE t1, t2;

View File

@ -523,3 +523,16 @@ UNLOCK TABLES;
dec $count; dec $count;
} }
DROP TABLE t, t2, tp; DROP TABLE t, t2, tp;
--echo #
--echo # Assertion `!part_elem->tablespace_name && !table_create_info->tablespace'
--echo # failed during EXCHANGE PARTITION with different TABLESPACE.
--echo #
CREATE TABLE t1 (a VARCHAR(200)) PARTITION BY KEY(a) partitions 10;
ALTER TABLE t1 ADD PARTITION (PARTITION pm TABLESPACE = `innodb_file_per_table`);
CREATE TABLE t2 like t1;
ALTER TABLE t2 REMOVE PARTITIONING;
--error ER_PARTITION_EXCHANGE_DIFFERENT_OPTION
ALTER TABLE t1 EXCHANGE PARTITION pm WITH TABLE t2;
DROP TABLE t1, t2;

View File

@ -4762,8 +4762,6 @@ bool compare_partition_options(HA_CREATE_INFO *table_create_info,
const char *option_diffs[MAX_COMPARE_PARTITION_OPTION_ERRORS + 1]; const char *option_diffs[MAX_COMPARE_PARTITION_OPTION_ERRORS + 1];
int i, errors= 0; int i, errors= 0;
DBUG_ENTER("compare_partition_options"); DBUG_ENTER("compare_partition_options");
DBUG_ASSERT(!part_elem->tablespace_name &&
!table_create_info->tablespace);
/* /*
Note that there are not yet any engine supporting tablespace together Note that there are not yet any engine supporting tablespace together