summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/long_unique_bugs_no_sp_protocol.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/long_unique_bugs_no_sp_protocol.test')
-rw-r--r--mysql-test/main/long_unique_bugs_no_sp_protocol.test68
1 files changed, 68 insertions, 0 deletions
diff --git a/mysql-test/main/long_unique_bugs_no_sp_protocol.test b/mysql-test/main/long_unique_bugs_no_sp_protocol.test
new file mode 100644
index 00000000..6bfa6182
--- /dev/null
+++ b/mysql-test/main/long_unique_bugs_no_sp_protocol.test
@@ -0,0 +1,68 @@
+if (`SELECT $SP_PROTOCOL > 0`)
+{
+ --skip Test requires: sp-protocol disabled
+}
+
+
+--echo #
+--echo # Start of 10.5 tests
+--echo #
+
+--echo #
+--echo # MDEV-32837 long unique does not work like unique key when using replace
+--echo #
+
+# This test produces different Handler commands in the SHOW STATUS output
+# with --sp-protocol. So it's here, in this *.test file with --sp-protocol disabled.
+
+--echo #
+--echo # Normal unique key + long unique key
+--echo #
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c INT, UNIQUE KEY `test` (b,c) USING HASH) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,1,1),(2,2,2);
+FLUSH STATUS;
+REPLACE INTO t1 VALUES (3,1,1);
+SHOW STATUS WHERE Variable_name LIKE 'handler%' AND Value>0;
+SELECT * FROM t1 ORDER BY a;
+FLUSH STATUS;
+REPLACE INTO t1 VALUES (3,2,2);
+SHOW STATUS WHERE Variable_name LIKE 'handler%' AND Value>0;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Two long unique keys
+--echo #
+
+CREATE TABLE t1 (a INT, b INT, c INT, UNIQUE KEY a (a) USING HASH,UNIQUE KEY `test` (b,c) USING HASH) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,1,1),(2,2,2);
+FLUSH STATUS;
+REPLACE INTO t1 VALUES (3,1,1);
+SHOW STATUS WHERE Variable_name LIKE 'handler%' AND Value>0;
+SELECT * FROM t1 ORDER BY a;
+FLUSH STATUS;
+REPLACE INTO t1 VALUES (3,2,2);
+SHOW STATUS WHERE Variable_name LIKE 'handler%' AND Value>0;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # One long unique key
+--echo #
+
+CREATE TABLE t1 (a INT, b INT, c INT, UNIQUE KEY `test` (b,c) USING HASH) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,1,1),(2,2,2);
+FLUSH STATUS;
+REPLACE INTO t1 VALUES (3,1,1);
+SHOW STATUS WHERE Variable_name LIKE 'handler%' AND Value>0;
+SELECT * FROM t1 ORDER BY a;
+FLUSH STATUS;
+REPLACE INTO t1 VALUES (3,2,2);
+SHOW STATUS WHERE Variable_name LIKE 'handler%' AND Value>0;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # End of 10.5 tests
+--echo #