summaryrefslogtreecommitdiff
path: root/mysql-test/suite
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-06-14 16:19:29 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-06-14 16:19:29 +0300
commit813986a6473b23485654d50d3593f1c9aa3658d8 (patch)
tree6d96eb570ee044c245e055713f366221775cfb39 /mysql-test/suite
parent62419b1733042c30414a4feed89c79aebb5621af (diff)
parent42d3a7b63d9313bffa91d4c6c5977fda42005d26 (diff)
downloadmariadb-git-813986a6473b23485654d50d3593f1c9aa3658d8.tar.gz
Merge 10.7 into 10.8
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/innodb/r/dropdb_cs.result16
-rw-r--r--mysql-test/suite/innodb/t/dropdb_cs.test17
-rw-r--r--mysql-test/suite/innodb_fts/r/concurrent_insert.result2
-rw-r--r--mysql-test/suite/innodb_fts/r/sync.result16
-rw-r--r--mysql-test/suite/innodb_fts/r/sync_block.result83
-rw-r--r--mysql-test/suite/innodb_fts/t/concurrent_insert.test2
-rw-r--r--mysql-test/suite/innodb_fts/t/sync.test4
-rw-r--r--mysql-test/suite/innodb_fts/t/sync_block.test124
-rw-r--r--mysql-test/suite/maria/encrypt-no-key.result6
-rw-r--r--mysql-test/suite/maria/encrypt-no-key.test2
-rw-r--r--mysql-test/suite/maria/maria-recover.result4
-rw-r--r--mysql-test/suite/maria/maria-recover.test1
-rw-r--r--mysql-test/suite/parts/inc/part_alter_values.inc8
-rw-r--r--mysql-test/suite/parts/r/partition_alter_innodb.result7
-rw-r--r--mysql-test/suite/parts/r/partition_alter_maria.result7
-rw-r--r--mysql-test/suite/parts/r/partition_alter_myisam.result7
16 files changed, 82 insertions, 224 deletions
diff --git a/mysql-test/suite/innodb/r/dropdb_cs.result b/mysql-test/suite/innodb/r/dropdb_cs.result
new file mode 100644
index 00000000000..59f02c74a04
--- /dev/null
+++ b/mysql-test/suite/innodb/r/dropdb_cs.result
@@ -0,0 +1,16 @@
+#
+# MDEV-28802 DROP DATABASE in InnoDB still is case-insensitive
+#
+SET @save_fpt=@@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+CREATE DATABASE Db;
+CREATE TABLE Db.t1 (c1 INT KEY) ENGINE=InnoDB;
+CREATE DATABASE DB;
+DROP DATABASE DB;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+NAME
+Db/t1
+DROP DATABASE Db;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
+SET GLOBAL innodb_file_per_table=@save_fpt;
diff --git a/mysql-test/suite/innodb/t/dropdb_cs.test b/mysql-test/suite/innodb/t/dropdb_cs.test
new file mode 100644
index 00000000000..0053ca732be
--- /dev/null
+++ b/mysql-test/suite/innodb/t/dropdb_cs.test
@@ -0,0 +1,17 @@
+--source include/have_innodb.inc
+--source include/have_case_sensitive_file_system.inc
+
+--echo #
+--echo # MDEV-28802 DROP DATABASE in InnoDB still is case-insensitive
+--echo #
+
+SET @save_fpt=@@GLOBAL.innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+CREATE DATABASE Db;
+CREATE TABLE Db.t1 (c1 INT KEY) ENGINE=InnoDB;
+CREATE DATABASE DB;
+DROP DATABASE DB;
+SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+DROP DATABASE Db;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'D%';
+SET GLOBAL innodb_file_per_table=@save_fpt;
diff --git a/mysql-test/suite/innodb_fts/r/concurrent_insert.result b/mysql-test/suite/innodb_fts/r/concurrent_insert.result
index e91ea02b1de..3cb48d22df1 100644
--- a/mysql-test/suite/innodb_fts/r/concurrent_insert.result
+++ b/mysql-test/suite/innodb_fts/r/concurrent_insert.result
@@ -19,7 +19,7 @@ INSERT INTO t2 VALUES('mariadb');
connection default;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug ='+d,fts_instrument_sync_request,ib_optimize_wq_hang';
-SET DEBUG_SYNC= 'fts_instrument_sync_request
+SET DEBUG_SYNC= 'fts_sync_end
SIGNAL drop_index_start WAIT_FOR sync_op';
INSERT INTO t1 VALUES('Keyword');
connect con1,localhost,root,,,;
diff --git a/mysql-test/suite/innodb_fts/r/sync.result b/mysql-test/suite/innodb_fts/r/sync.result
index 928efffdb21..74a5d2f13fb 100644
--- a/mysql-test/suite/innodb_fts/r/sync.result
+++ b/mysql-test/suite/innodb_fts/r/sync.result
@@ -11,19 +11,19 @@ INSERT INTO t1(title) VALUES('database');
connection con1;
SET @old_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR selected';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR selected';
INSERT INTO t1(title) VALUES('mysql database');
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR written';
SET GLOBAL innodb_ft_aux_table="test/t1";
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
+SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
+WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 2 3 2 2 0
database 2 3 2 3 6
mysql 1 3 2 1 0
mysql 1 3 2 3 0
-SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
-WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
SET GLOBAL innodb_ft_aux_table=default;
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
@@ -59,7 +59,7 @@ INSERT INTO t1(title) VALUES('mysql');
INSERT INTO t1(title) VALUES('database');
connection con1;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR inserted';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR inserted';
INSERT INTO t1(title) VALUES('mysql database');
connection default;
SET DEBUG_SYNC= 'now WAIT_FOR written';
@@ -70,14 +70,14 @@ SET debug_dbug = @old_dbug;
SET GLOBAL innodb_ft_aux_table="test/t1";
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
+database 4 4 1 4 6
+mysql 4 4 1 4 0
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE;
WORD FIRST_DOC_ID LAST_DOC_ID DOC_COUNT DOC_ID POSITION
database 2 3 2 2 0
database 2 3 2 3 6
-database 4 4 1 4 6
-mysql 1 4 3 1 0
-mysql 1 4 3 3 0
-mysql 1 4 3 4 0
+mysql 1 3 2 1 0
+mysql 1 3 2 3 0
SET GLOBAL innodb_ft_aux_table=default;
SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
FTS_DOC_ID title
diff --git a/mysql-test/suite/innodb_fts/r/sync_block.result b/mysql-test/suite/innodb_fts/r/sync_block.result
deleted file mode 100644
index 65bee127e80..00000000000
--- a/mysql-test/suite/innodb_fts/r/sync_block.result
+++ /dev/null
@@ -1,83 +0,0 @@
-SET @old_log_output = @@global.log_output;
-SET @old_slow_query_log = @@global.slow_query_log;
-SET @old_general_log = @@global.general_log;
-SET @old_long_query_time = @@global.long_query_time;
-SET @old_debug = @@global.debug_dbug;
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = 1;
-SET GLOBAL slow_query_log = 1;
-SET GLOBAL long_query_time = 1;
-connect con1,localhost,root,,;
-connect con2,localhost,root,,;
-connection default;
-# Case 1: Sync blocks DML(insert) on the same table.
-CREATE TABLE t1 (
-FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-title VARCHAR(200),
-FULLTEXT(title)
-) ENGINE = InnoDB;
-connection con1;
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_debug,fts_instrument_sync_sleep';
-SET DEBUG_SYNC= 'fts_sync_begin SIGNAL begin WAIT_FOR continue';
-INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-connection con1;
-/* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-/* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-FTS_DOC_ID title
-connection default;
-# make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
-SLEEP(2)
-0
-# slow log results should only contain INSERT INTO t1.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-sql_text
-INSERT INTO t1(title) VALUES('mysql database')
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-DROP TABLE t1;
-# Case 2: Sync blocks DML(insert) on other tables.
-CREATE TABLE t1 (
-FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-title VARCHAR(200),
-FULLTEXT(title)
-) ENGINE = InnoDB;
-CREATE TABLE t2(id INT);
-connection con1;
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_request,fts_instrument_sync_sleep';
-SET DEBUG_SYNC= 'fts_instrument_sync_request SIGNAL begin WAIT_FOR continue';
-INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-INSERT INTO t2 VALUES(1);
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-connection con1;
-/* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
-connection con2;
-/* conneciton con2 */ INSERT INTO t2 VALUES(1);
-connection default;
-SET DEBUG_SYNC = 'RESET';
-# make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
-SLEEP(2)
-0
-# slow log results should be empty here.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-sql_text
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-DROP TABLE t1,t2;
-disconnect con1;
-disconnect con2;
-# Restore slow log settings.
-SET GLOBAL log_output = @old_log_output;
-SET GLOBAL general_log = @old_general_log;
-SET GLOBAL slow_query_log = @old_slow_query_log;
-SET GLOBAL long_query_time = @old_long_query_time;
diff --git a/mysql-test/suite/innodb_fts/t/concurrent_insert.test b/mysql-test/suite/innodb_fts/t/concurrent_insert.test
index 35debd87cea..d70fc0f63c4 100644
--- a/mysql-test/suite/innodb_fts/t/concurrent_insert.test
+++ b/mysql-test/suite/innodb_fts/t/concurrent_insert.test
@@ -31,7 +31,7 @@ INSERT INTO t2 VALUES('mariadb');
connection default;
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug ='+d,fts_instrument_sync_request,ib_optimize_wq_hang';
-SET DEBUG_SYNC= 'fts_instrument_sync_request
+SET DEBUG_SYNC= 'fts_sync_end
SIGNAL drop_index_start WAIT_FOR sync_op';
send INSERT INTO t1 VALUES('Keyword');
diff --git a/mysql-test/suite/innodb_fts/t/sync.test b/mysql-test/suite/innodb_fts/t/sync.test
index f16953ba09f..92c21c9ac83 100644
--- a/mysql-test/suite/innodb_fts/t/sync.test
+++ b/mysql-test/suite/innodb_fts/t/sync.test
@@ -26,7 +26,7 @@ connection con1;
SET @old_dbug = @@SESSION.debug_dbug;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR selected';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR selected';
send INSERT INTO t1(title) VALUES('mysql database');
@@ -73,7 +73,7 @@ connection con1;
SET debug_dbug = '+d,fts_instrument_sync_debug';
-SET DEBUG_SYNC= 'fts_write_node SIGNAL written WAIT_FOR inserted';
+SET DEBUG_SYNC= 'fts_sync_end SIGNAL written WAIT_FOR inserted';
send INSERT INTO t1(title) VALUES('mysql database');
diff --git a/mysql-test/suite/innodb_fts/t/sync_block.test b/mysql-test/suite/innodb_fts/t/sync_block.test
deleted file mode 100644
index 895d2ba8a59..00000000000
--- a/mysql-test/suite/innodb_fts/t/sync_block.test
+++ /dev/null
@@ -1,124 +0,0 @@
-#
-# BUG#22516559 MYSQL INSTANCE STALLS WHEN SYNCING FTS INDEX
-#
-
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/have_debug_sync.inc
---source include/have_log_bin.inc
---source include/count_sessions.inc
-
-SET @old_log_output = @@global.log_output;
-SET @old_slow_query_log = @@global.slow_query_log;
-SET @old_general_log = @@global.general_log;
-SET @old_long_query_time = @@global.long_query_time;
-SET @old_debug = @@global.debug_dbug;
-
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = 1;
-SET GLOBAL slow_query_log = 1;
-SET GLOBAL long_query_time = 1;
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-connection default;
-
---echo # Case 1: Sync blocks DML(insert) on the same table.
-CREATE TABLE t1 (
- FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
- title VARCHAR(200),
- FULLTEXT(title)
-) ENGINE = InnoDB;
-
-connection con1;
-
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_debug,fts_instrument_sync_sleep';
-
-SET DEBUG_SYNC= 'fts_sync_begin SIGNAL begin WAIT_FOR continue';
-
-send INSERT INTO t1(title) VALUES('mysql database');
-
-connection con2;
-
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-
-send SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
-
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-
-connection con1;
---echo /* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
---reap
-
-connection con2;
---echo /* conneciton con2 */ SELECT * FROM t1 WHERE MATCH(title) AGAINST('mysql database');
---reap
-
-connection default;
--- echo # make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
--- echo # slow log results should only contain INSERT INTO t1.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-
-DROP TABLE t1;
-
---echo # Case 2: Sync blocks DML(insert) on other tables.
-CREATE TABLE t1 (
- FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
- title VARCHAR(200),
- FULLTEXT(title)
-) ENGINE = InnoDB;
-
-CREATE TABLE t2(id INT);
-
-connection con1;
-
-SET GLOBAL debug_dbug='+d,fts_instrument_sync_request,fts_instrument_sync_sleep';
-
-SET DEBUG_SYNC= 'fts_instrument_sync_request SIGNAL begin WAIT_FOR continue';
-
-send INSERT INTO t1(title) VALUES('mysql database');
-
-connection con2;
-
-SET DEBUG_SYNC= 'now WAIT_FOR begin';
-
-send INSERT INTO t2 VALUES(1);
-
-connection default;
-SET DEBUG_SYNC= 'now SIGNAL continue';
-
-connection con1;
---echo /* connection con1 */ INSERT INTO t1(title) VALUES('mysql database');
---reap
-
-connection con2;
---echo /* conneciton con2 */ INSERT INTO t2 VALUES(1);
---reap
-
-connection default;
-SET DEBUG_SYNC = 'RESET';
--- echo # make con1 & con2 show up in mysql.slow_log
-SELECT SLEEP(2);
--- echo # slow log results should be empty here.
-SELECT sql_text FROM mysql.slow_log WHERE query_time >= '00:00:02';
-
-SET GLOBAL debug_dbug = @old_debug;
-TRUNCATE TABLE mysql.slow_log;
-
-DROP TABLE t1,t2;
-
-disconnect con1;
-disconnect con2;
-
---source include/wait_until_count_sessions.inc
-
--- echo # Restore slow log settings.
-SET GLOBAL log_output = @old_log_output;
-SET GLOBAL general_log = @old_general_log;
-SET GLOBAL slow_query_log = @old_slow_query_log;
-SET GLOBAL long_query_time = @old_long_query_time;
diff --git a/mysql-test/suite/maria/encrypt-no-key.result b/mysql-test/suite/maria/encrypt-no-key.result
index bdc8a79ff9a..5229158d525 100644
--- a/mysql-test/suite/maria/encrypt-no-key.result
+++ b/mysql-test/suite/maria/encrypt-no-key.result
@@ -6,12 +6,12 @@ create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
alter table t1 disable keys;
insert into t1 values (1,1);
alter table t1 enable keys;
-ERROR HY000: Unknown key id 1 for ./test/t1. Can't continue!
+ERROR HY000: Unknown key id 1 for test/t1. Can't continue!
repair table t1 use_frm;
Table Op Msg_type Msg_text
test.t1 repair warning Number of rows changed from 0 to 1
-test.t1 repair Error Unknown key id 1 for ./test/t1. Can't continue!
-test.t1 repair Error Unknown key id 1 for ./test/t1. Can't continue!
+test.t1 repair Error Unknown key id 1 for test/t1. Can't continue!
+test.t1 repair Error Unknown key id 1 for test/t1. Can't continue!
test.t1 repair status OK
drop table t1;
set global aria_encrypt_tables= default;
diff --git a/mysql-test/suite/maria/encrypt-no-key.test b/mysql-test/suite/maria/encrypt-no-key.test
index eebc2a102d3..1157263ca79 100644
--- a/mysql-test/suite/maria/encrypt-no-key.test
+++ b/mysql-test/suite/maria/encrypt-no-key.test
@@ -10,9 +10,11 @@ create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
alter table t1 disable keys;
insert into t1 values (1,1);
--replace_result \\ /
+--replace_regex /for .*test/for test/
--error 192
alter table t1 enable keys;
--replace_result \\ /
+--replace_regex /for .*test/for test/
repair table t1 use_frm;
drop table t1;
set global aria_encrypt_tables= default;
diff --git a/mysql-test/suite/maria/maria-recover.result b/mysql-test/suite/maria/maria-recover.result
index 788cd7eaf5a..7bb90cc0405 100644
--- a/mysql-test/suite/maria/maria-recover.result
+++ b/mysql-test/suite/maria/maria-recover.result
@@ -26,9 +26,9 @@ a
ThursdayMorningsMarket
ThursdayMorningsMarketb
Warnings:
-Error 145 Got error '145 "Table was marked as crashed and should be repaired"' for './mysqltest/t_corrupted2'
+Error 145 Got error '145 "Table was marked as crashed and should be repaired"' for 't_corrupted2'
Warning 1034 1 client is using or hasn't closed the table properly
-Error 176 Got error '176 "Read page with wrong checksum"' for './mysqltest/t_corrupted2.MAI'
+Error 176 Got error '176 "Read page with wrong checksum"' for 't_corrupted2.MAI'
Error 1034 Can't read indexpage from page: 1, error: 176
select * from t_corrupted2;
a
diff --git a/mysql-test/suite/maria/maria-recover.test b/mysql-test/suite/maria/maria-recover.test
index cea185e7ab5..5ddfd6d202e 100644
--- a/mysql-test/suite/maria/maria-recover.test
+++ b/mysql-test/suite/maria/maria-recover.test
@@ -79,6 +79,7 @@ perl;
close FILE;
EOF
--replace_result \\ /
+--replace_regex /for '.*t_corrupted2/for 't_corrupted2/
--enable_prepare_warnings
select * from t_corrupted2; # should show corruption and repair messages
--disable_prepare_warnings
diff --git a/mysql-test/suite/parts/inc/part_alter_values.inc b/mysql-test/suite/parts/inc/part_alter_values.inc
index ca18faa5758..d3b63a4610f 100644
--- a/mysql-test/suite/parts/inc/part_alter_values.inc
+++ b/mysql-test/suite/parts/inc/part_alter_values.inc
@@ -78,3 +78,11 @@ if (`SELECT IF('$engine' != 'InnoDB', 1, 0)`)
--remove_files_wildcard $MYSQLTEST_VARDIR/tmp/mdev_27065 *
--rmdir $MYSQLTEST_VARDIR/tmp/mdev_27065
+
+--echo #
+--echo # MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
+--echo #
+--eval CREATE TABLE t1 (c INT) ENGINE=$engine PARTITION BY KEY(c) PARTITIONS 4;
+LOCK TABLES t1 WRITE, t1 AS a READ;
+ALTER TABLE t1 REBUILD PARTITION p0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter_innodb.result b/mysql-test/suite/parts/r/partition_alter_innodb.result
index 33429980737..05237cfadca 100644
--- a/mysql-test/suite/parts/r/partition_alter_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter_innodb.result
@@ -62,6 +62,13 @@ Warnings:
Warning 1618 <DATA DIRECTORY> table option of old schema is ignored
DROP TABLE t1;
#
+# MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
+#
+CREATE TABLE t1 (c INT) ENGINE=InnoDB PARTITION BY KEY(c) PARTITIONS 4;;
+LOCK TABLES t1 WRITE, t1 AS a READ;
+ALTER TABLE t1 REBUILD PARTITION p0;
+DROP TABLE t1;
+#
# MDEV-28079 Shutdown hangs after altering innodb partition fts table
#
CREATE TABLE t1(f1 INT, f2 CHAR(100))ENGINE=InnoDB PARTITION BY HASH(f1) PARTITIONS 2;
diff --git a/mysql-test/suite/parts/r/partition_alter_maria.result b/mysql-test/suite/parts/r/partition_alter_maria.result
index 358ffbdfbe7..eca8378430f 100644
--- a/mysql-test/suite/parts/r/partition_alter_maria.result
+++ b/mysql-test/suite/parts/r/partition_alter_maria.result
@@ -95,3 +95,10 @@ PARTITION p1 VALUES LESS THAN MAXVALUE
Warnings:
Warning 1618 <INDEX DIRECTORY> table option of old schema is ignored
DROP TABLE t2;
+#
+# MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
+#
+CREATE TABLE t1 (c INT) ENGINE=Aria PARTITION BY KEY(c) PARTITIONS 4;;
+LOCK TABLES t1 WRITE, t1 AS a READ;
+ALTER TABLE t1 REBUILD PARTITION p0;
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter_myisam.result b/mysql-test/suite/parts/r/partition_alter_myisam.result
index 9d76881fdfa..ba1a0fe05c4 100644
--- a/mysql-test/suite/parts/r/partition_alter_myisam.result
+++ b/mysql-test/suite/parts/r/partition_alter_myisam.result
@@ -68,6 +68,13 @@ PARTITION p1 VALUES LESS THAN MAXVALUE
Warnings:
Warning 1618 <INDEX DIRECTORY> table option of old schema is ignored
DROP TABLE t2;
+#
+# MDEV-26127 Assertion `err != DB_DUPLICATE_KEY' failed or InnoDB: Failing assertion: id != 0 on ALTER ... REBUILD PARTITION
+#
+CREATE TABLE t1 (c INT) ENGINE=MyISAM PARTITION BY KEY(c) PARTITIONS 4;;
+LOCK TABLES t1 WRITE, t1 AS a READ;
+ALTER TABLE t1 REBUILD PARTITION p0;
+DROP TABLE t1;
create table t1 ( c1 int, c2 int, c3 varchar(100)) delay_key_write=1
partition by key(c1) (
partition p01 data directory = 'MYSQL_TMP_DIR'