summaryrefslogtreecommitdiff
path: root/mysql-test/main/table_value_constr.test
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2021-02-23 00:56:14 +0100
committerSergei Golubchik <serg@mariadb.org>2021-02-23 09:25:57 +0100
commite841957416e9287d1e9b2e32c952d6d0c1a2e2ed (patch)
tree7363161fe48edbecbd562f36280ce3980835f9c2 /mysql-test/main/table_value_constr.test
parent34fcd726a6d5ee6e41b48b5946df801cb079afc1 (diff)
parent640f42311a72fa82bf7117c2791fc47ceb420361 (diff)
downloadmariadb-git-e841957416e9287d1e9b2e32c952d6d0c1a2e2ed.tar.gz
Merge branch '10.3' into 10.4
Diffstat (limited to 'mysql-test/main/table_value_constr.test')
-rw-r--r--mysql-test/main/table_value_constr.test58
1 files changed, 58 insertions, 0 deletions
diff --git a/mysql-test/main/table_value_constr.test b/mysql-test/main/table_value_constr.test
index 4cbca891e57..4014a8b4d62 100644
--- a/mysql-test/main/table_value_constr.test
+++ b/mysql-test/main/table_value_constr.test
@@ -1402,6 +1402,64 @@ values ((select min(a), max(b) from t1));
drop table t1;
--echo #
+--echo # MDEV-24840: union of TVCs in IN subquery
+--echo #
+
+create table t1 (a int) engine=myisam;
+insert into t1 values (3), (7), (1);
+
+let $q=
+select a from t1 where a in (values (7) union values (8));
+eval $q;
+eval explain extended $q;
+eval prepare stmt from "$q";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+let $q=
+select a from t1 where a not in (values (7) union values (8));
+eval $q;
+eval explain extended $q;
+
+let $q=
+select a from t1 where a < all(values (7) union values (8));
+eval $q;
+eval explain extended $q;
+
+let $q=
+select a from t1 where a >= any(values (7) union values (8));
+eval $q;
+eval explain extended $q;
+
+drop table t1;
+
+--echo #
+--echo # MDEV-24934:EXPLAIN for queries based on TVC using subqueries
+--echo #
+
+create table t1 (a int);
+insert into t1 values (3), (7), (1);
+
+let $q1=
+values (8), ((select * from t1 where a between 2 and 4));
+eval $q1;
+eval explain $q1;
+
+let $q2=
+values ((select * from t1 where a between 2 and 4)),
+ ((select * from t1 where a > 10));
+eval $q2;
+eval explain $q2;
+
+let $q3=
+values (10,11), ((select * from t1 where a = 7) + 1, 21);
+eval $q3;
+eval explain $q3;
+
+drop table t1;
+
+--echo #
--echo # End of 10.3 tests
--echo #