summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2022-10-25 15:39:03 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2022-10-25 15:39:03 +0400
commit4cf97ba683bbf54c20380f30ecb41104ea44ef67 (patch)
tree1d62223f78bebbdf507b2bb95d5d4af8731b22d7
parentbaf276e6d4a44fe7cdf3b435c0153da0a42af2b6 (diff)
downloadmariadb-git-midenok-tmp.tar.gz
MDEV-29800 MDEV-29800 ERROR 1062 (23000): Duplicate entry 'test-t-0' for key 'PRIMARY' on CoR...midenok-tmp
The CREATE TABLE command can appear in the ha_spider::rename_table(), so should be handled.
-rw-r--r--storage/spider/ha_spider.cc1
-rw-r--r--storage/spider/mysql-test/spider/r/spider3_fixes.result8
-rw-r--r--storage/spider/mysql-test/spider/t/spider3_fixes.test11
3 files changed, 20 insertions, 0 deletions
diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc
index b8d33e38c4e..2d3aeba6e0c 100644
--- a/storage/spider/ha_spider.cc
+++ b/storage/spider/ha_spider.cc
@@ -8868,6 +8868,7 @@ int ha_spider::rename_table(
goto error;
}
if (
+ sql_command == SQLCOM_CREATE_TABLE ||
sql_command == SQLCOM_RENAME_TABLE ||
(sql_command == SQLCOM_ALTER_TABLE && !trx->tmp_flg) ||
!(alter_table_from =
diff --git a/storage/spider/mysql-test/spider/r/spider3_fixes.result b/storage/spider/mysql-test/spider/r/spider3_fixes.result
index 7a80e102462..fb7ad4ac16e 100644
--- a/storage/spider/mysql-test/spider/r/spider3_fixes.result
+++ b/storage/spider/mysql-test/spider/r/spider3_fixes.result
@@ -208,6 +208,14 @@ CREATE TEMPORARY TABLE t1 (
a INT
) ENGINE=Spider;
ERROR HY000: Table storage engine 'SPIDER' does not support the create option 'TEMPORARY'
+#
+# MDEV-29800 ERROR 1062 (23000): Duplicate entry 'test-t-0' for key 'PRIMARY' ...
+#
+connection master_1;
+CREATE TABLE t_r (a INT KEY AUTO_INCREMENT) ENGINE=Spider;
+ALTER TABLE t_r ADD b TEXT;
+CREATE OR REPLACE TABLE t_r (a INT) ENGINE=Spider;
+DROP TABLE t_r;
deinit
connection master_1;
diff --git a/storage/spider/mysql-test/spider/t/spider3_fixes.test b/storage/spider/mysql-test/spider/t/spider3_fixes.test
index eb48b0c89a2..9ae035d4479 100644
--- a/storage/spider/mysql-test/spider/t/spider3_fixes.test
+++ b/storage/spider/mysql-test/spider/t/spider3_fixes.test
@@ -276,6 +276,17 @@ CREATE TEMPORARY TABLE t1 (
) ENGINE=Spider;
+--echo #
+--echo # MDEV-29800 ERROR 1062 (23000): Duplicate entry 'test-t-0' for key 'PRIMARY' ...
+--echo #
+--connection master_1
+CREATE TABLE t_r (a INT KEY AUTO_INCREMENT) ENGINE=Spider;
+ALTER TABLE t_r ADD b TEXT;
+--disable_warnings
+CREATE OR REPLACE TABLE t_r (a INT) ENGINE=Spider;
+--enable_warnings
+DROP TABLE t_r;
+
--echo
--echo deinit
--disable_warnings