Activity log for bug #806504

Date Who What changed Old value New value Message
2011-07-06 14:14:25 Philip Stoev bug added bug
2011-07-06 14:14:29 Philip Stoev maria: milestone 5.3
2011-07-06 14:14:37 Philip Stoev maria: assignee Igor Babaev (igorb-seattle)
2011-07-06 14:15:11 Philip Stoev description The following query SELECT * FROM t2 RIGHT JOIN ( SELECT * FROM t1 ) AS alias2 ON alias2.f10 != 0 WHERE alias2.f10 IN ( SELECT f11 FROM t1 ); returns no rows when executed with derived_merge=on,semijoin=off and 1 row in all other cases (e.g. when run with other switches or by manually in-lining the derived table, or inlining the subquery). Explain: | 1 | PRIMARY | t1 | system | NULL | NULL | NULL | NULL | 1 | | | 1 | PRIMARY | t2 | ALL | NULL | NULL | NULL | NULL | 2 | | | 3 | SUBQUERY | t1 | system | NULL | NULL | NULL | NULL | 1 | | minimal optimizer switch:derived_merge=on,semijoin=off full optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=off,loosescan=off,materialization=on,in_to_exists=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=on,mrr_cost_based=off,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on test case: CREATE TABLE t1 ( f10 int, f11 int) ; INSERT IGNORE INTO t1 VALUES (0,0); CREATE TABLE t2 ( f11 int) ; INSERT INTO t2 VALUES (0),(0); SELECT * FROM t2 RIGHT JOIN ( SELECT * FROM t1 ) AS alias2 ON alias2.f10 != 0 WHERE alias2.f10 IN ( SELECT f11 FROM t1 ); The following query SELECT * FROM t2 RIGHT JOIN ( SELECT * FROM t1 ) AS alias2 ON alias2.f10 != 0 WHERE alias2.f10 IN ( SELECT f11 FROM t1 ); returns no rows when executed with derived_merge=on,semijoin=off and 1 row in all other cases (e.g. when run with other switches or by manually in-lining the derived table, or inlining the subquery, rotating the join to be LEFT JOIN). Explain: | 1 | PRIMARY | t1 | system | NULL | NULL | NULL | NULL | 1 | | | 1 | PRIMARY | t2 | ALL | NULL | NULL | NULL | NULL | 2 | | | 3 | SUBQUERY | t1 | system | NULL | NULL | NULL | NULL | 1 | | minimal optimizer switch:derived_merge=on,semijoin=off full optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=off,loosescan=off,materialization=on,in_to_exists=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=on,mrr_cost_based=off,mrr_sort_keys=on,outer_join_with_cache=off,semijoin_with_cache=off,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on test case: CREATE TABLE t1 ( f10 int, f11 int) ; INSERT IGNORE INTO t1 VALUES (0,0); CREATE TABLE t2 ( f11 int) ; INSERT INTO t2 VALUES (0),(0); SELECT * FROM t2 RIGHT JOIN ( SELECT * FROM t1 ) AS alias2 ON alias2.f10 != 0 WHERE alias2.f10 IN ( SELECT f11 FROM t1 );
2011-07-10 19:07:51 Igor Babaev maria: status New Confirmed
2011-07-10 19:07:58 Igor Babaev maria: importance Undecided High
2011-07-11 05:26:59 Igor Babaev maria: status Confirmed Fix Committed
2011-12-13 16:06:06 Daniel Bartholomew maria: status Fix Committed Fix Released