From 8cab54fe31f446ed86b8f1c21f08eac7adeeee11 Mon Sep 17 00:00:00 2001 From: Gagan Goel Date: Mon, 20 Dec 2021 13:25:27 -0500 Subject: [PATCH] MCOL-4868 Move test cases for MCOL-4264 to MTR. --- .../columnstore/bugfixes/mcol-4868.result | 55 +++++++++++++++++++ .../columnstore/bugfixes/mcol-4868.test | 40 ++++++++++++++ 2 files changed, 95 insertions(+) diff --git a/mysql-test/columnstore/bugfixes/mcol-4868.result b/mysql-test/columnstore/bugfixes/mcol-4868.result index dc3a2b981..66e6f0880 100644 --- a/mysql-test/columnstore/bugfixes/mcol-4868.result +++ b/mysql-test/columnstore/bugfixes/mcol-4868.result @@ -87,5 +87,60 @@ DELETE FROM test_cs WHERE a IN (SELECT a FROM test_cs); SELECT * FROM test_cs; a b NULL TestNULL +CREATE TABLE cstab1 ( +a int(11) DEFAULT NULL, +b varchar(10) DEFAULT NULL +) ENGINE=Columnstore; +INSERT INTO cstab1 VALUES (1,'cs01'); +INSERT INTO cstab1 VALUES (2,'cs02'); +CREATE TABLE innotab1 ( +a int(11) DEFAULT NULL, +b varchar(10) DEFAULT NULL +) ENGINE=InnoDB; +INSERT INTO innotab1 VALUES (1,'in01'); +SELECT * FROM cstab1; +a b +1 cs01 +2 cs02 +SELECT * FROM innotab1; +a b +1 in01 +SELECT '--- Updating ---' AS ``; + +--- Updating --- +UPDATE innotab1 SET a=100 WHERE a IN (SELECT a FROM cstab1 WHERE a=1); +SELECT * FROM cstab1; +a b +1 cs01 +2 cs02 +SELECT * FROM innotab1; +a b +100 in01 +UPDATE innotab1 SET a=10000 WHERE a NOT IN (SELECT a FROM cstab1 WHERE a=1); +SELECT * FROM cstab1; +a b +1 cs01 +2 cs02 +SELECT * FROM innotab1; +a b +10000 in01 +SELECT '--- Deleting ---' AS ``; + +--- Deleting --- +DELETE FROM innotab1 WHERE a IN (SELECT a FROM cstab1 WHERE a=2); +SELECT * FROM cstab1; +a b +1 cs01 +2 cs02 +SELECT * FROM innotab1; +a b +10000 in01 +DELETE FROM innotab1 WHERE a NOT IN (SELECT a FROM cstab1 WHERE a=2); +SELECT * FROM cstab1; +a b +1 cs01 +2 cs02 +SELECT * FROM innotab1; +a b DROP USER 'cejuser'@'localhost'; DROP DATABASE `mcol_4868`; diff --git a/mysql-test/columnstore/bugfixes/mcol-4868.test b/mysql-test/columnstore/bugfixes/mcol-4868.test index 10caf7f6a..55358fbec 100644 --- a/mysql-test/columnstore/bugfixes/mcol-4868.test +++ b/mysql-test/columnstore/bugfixes/mcol-4868.test @@ -2,6 +2,9 @@ # MCOL-4868 UPDATE on a ColumnStore table containing an IN-subquery # on a non-ColumnStore table does not work. # +# MCOL-4264 UPDATE on an InnoDB table containing an IN-subquery on +# a ColumnStore table is failing +# -- source include/have_innodb.inc -- source ../include/have_columnstore.inc @@ -65,6 +68,43 @@ SELECT * FROM test_innodb; DELETE FROM test_cs WHERE a IN (SELECT a FROM test_cs); SELECT * FROM test_cs; +# Test cases for MCOL-4264 +CREATE TABLE cstab1 ( + a int(11) DEFAULT NULL, + b varchar(10) DEFAULT NULL +) ENGINE=Columnstore; +INSERT INTO cstab1 VALUES (1,'cs01'); +INSERT INTO cstab1 VALUES (2,'cs02'); + +CREATE TABLE innotab1 ( + a int(11) DEFAULT NULL, + b varchar(10) DEFAULT NULL +) ENGINE=InnoDB; +INSERT INTO innotab1 VALUES (1,'in01'); + +SELECT * FROM cstab1; +SELECT * FROM innotab1; + +SELECT '--- Updating ---' AS ``; + +UPDATE innotab1 SET a=100 WHERE a IN (SELECT a FROM cstab1 WHERE a=1); +SELECT * FROM cstab1; +SELECT * FROM innotab1; + +UPDATE innotab1 SET a=10000 WHERE a NOT IN (SELECT a FROM cstab1 WHERE a=1); +SELECT * FROM cstab1; +SELECT * FROM innotab1; + +SELECT '--- Deleting ---' AS ``; + +DELETE FROM innotab1 WHERE a IN (SELECT a FROM cstab1 WHERE a=2); +SELECT * FROM cstab1; +SELECT * FROM innotab1; + +DELETE FROM innotab1 WHERE a NOT IN (SELECT a FROM cstab1 WHERE a=2); +SELECT * FROM cstab1; +SELECT * FROM innotab1; + # Cleanup DROP USER 'cejuser'@'localhost'; DROP DATABASE `mcol_4868`;