diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2011-04-08 02:12:03 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2011-04-08 02:12:03 +0400 |
commit | acc161d3633c9d655389622c5758832f1dd4bc78 (patch) | |
tree | 6e806d9d61d11b930ace540fa9379e56e144b2e5 /mysql-test/t/subselect3.test | |
parent | 2a498b393a75db3200c134be94d9660f6dfee0e5 (diff) | |
download | mariadb-git-acc161d3633c9d655389622c5758832f1dd4bc78.tar.gz |
BUG#752992: Wrong results for a subquery with 'semijoin=on'
- Let advance_sj_state() save the value of JOIN::cur_dups_producing_tables
in POSITION::prefix_dups_producing_tables, and restore_sj_state() restore
it.
Diffstat (limited to 'mysql-test/t/subselect3.test')
-rw-r--r-- | mysql-test/t/subselect3.test | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mysql-test/t/subselect3.test b/mysql-test/t/subselect3.test index 2a5aa1c5429..dc625239e84 100644 --- a/mysql-test/t/subselect3.test +++ b/mysql-test/t/subselect3.test @@ -949,9 +949,9 @@ set @save_max_heap_table_size=@@max_heap_table_size; set @@optimizer_switch='firstmatch=off,materialization=off'; set @@max_heap_table_size= 16384; -explain select count(*) from t0 A, t0 B, t0 C, t0 D where D.a in (select a from t1 E); +explain select count(*) from t0 A, t0 B, t0 C, t0 D where D.a in (select a from t1 E where a+1 < 10000 + A.a + B.a +C.a+D.a); flush status; -select count(*) from t0 A, t0 B, t0 C, t0 D where D.a in (select a from t1 E); +select count(*) from t0 A, t0 B, t0 C, t0 D where D.a in (select a from t1 E where a+1 < 10000 + A.a + B.a +C.a+D.a); show status like 'Created_tmp_disk_tables'; set @save_max_heap_table_size=@@max_heap_table_size; set @@optimizer_switch=@save_optimizer_switch; |