diff options
Diffstat (limited to 'mysql-test/suite/federated/federatedx.result')
-rw-r--r-- | mysql-test/suite/federated/federatedx.result | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mysql-test/suite/federated/federatedx.result b/mysql-test/suite/federated/federatedx.result index c18665e4d99..49deff81c4c 100644 --- a/mysql-test/suite/federated/federatedx.result +++ b/mysql-test/suite/federated/federatedx.result @@ -2325,6 +2325,38 @@ DROP TABLE federated.t1; connection slave; DROP TABLE federated.t1; connection default; +# +# MDEV-30395 Wrong result with semijoin and Federated as outer table +# +create server s foreign data wrapper mysql options (host "127.0.0.1", database "test", user "root", port MASTER_PORT); +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (3),(2),(3); +CREATE TABLE t2 (pk INT PRIMARY KEY); +INSERT INTO t2 VALUES (1),(2),(3),(4); +set @save_optimizer_switch=@@optimizer_switch; +set optimizer_switch="materialization=off"; +CREATE TABLE t2_fed ENGINE=FEDERATED CONNECTION='s/t2'; +explain SELECT * FROM t2_fed WHERE pk IN ( SELECT a FROM t1 ); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t2_fed ALL NULL NULL NULL NULL 4 Using where +2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where +SELECT * FROM t2_fed WHERE pk IN ( SELECT a FROM t1 ); +pk +2 +3 +SET optimizer_switch='semijoin=off'; +explain SELECT * FROM t2_fed WHERE pk IN ( SELECT a FROM t1 ); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t2_fed ALL NULL NULL NULL NULL 4 Using where +2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where +SELECT * FROM t2_fed WHERE pk IN ( SELECT a FROM t1 ); +pk +2 +3 +DROP TABLE t2_fed, t1, t2; +set @@optimizer_switch=@save_optimizer_switch; +DROP SERVER s; +# End of 10.5 tests connection master; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; |