mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed LP bug #889750.
If the optimizer switch 'semijoin_with_cache' is set to 'off' then join cache cannot be used to join inner tables of a semijoin. Also fixed a bug in the function check_join_cache_usage() that led to wrong output of the EXPLAIN commands for some test cases.
This commit is contained in:
@ -200,7 +200,7 @@ flush tables;
|
||||
EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY OUTR ALL NULL NULL NULL NULL 2 Using where; Start temporary
|
||||
1 PRIMARY INNR ALL NULL NULL NULL NULL 2 Using where; End temporary; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY INNR ALL NULL NULL NULL NULL 2 Using where; End temporary
|
||||
flush tables;
|
||||
SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL );
|
||||
dt
|
||||
@ -208,7 +208,7 @@ flush tables;
|
||||
EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN ( SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.t < '2005-11-13 7:41:31' );
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY OUTR ALL NULL NULL NULL NULL 2 Using where; Start temporary
|
||||
1 PRIMARY INNR ALL NULL NULL NULL NULL 2 Using where; End temporary; Using join buffer (flat, BNL join)
|
||||
1 PRIMARY INNR ALL NULL NULL NULL NULL 2 Using where; End temporary
|
||||
flush tables;
|
||||
SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN ( SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.t < '2005-11-13 7:41:31' );
|
||||
dt
|
||||
|
Reference in New Issue
Block a user