Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 10.0.2
-
Component/s: None
-
Labels:None
Description
10.0-exists2in/sql/opt_subselect.cc:5302: bool JOIN::choose_subquery_plan(table_map): Assertion `in_subs->has_strategy()' failed. [ERROR] mysqld got signal 6 ;
#6 0x00007f251068bd4d in __GI___assert_fail (assertion=0xe13668 "in_subs->has_strategy()", file=<optimized out>, line=5302, function=<optimized out>) at assert.c:81 #7 0x00000000007666ab in JOIN::choose_subquery_plan (this=0x412fec8, join_tables=1) at 10.0-exists2in/sql/opt_subselect.cc:5302 #8 0x000000000064f66a in make_join_statistics (join=0x412fec8, tables_list=..., conds=0x0, keyuse_array=0x41301f0) at 10.0-exists2in/sql/sql_select.cc:3874 #9 0x0000000000646438 in JOIN::optimize_inner (this=0x412fec8) at 10.0-exists2in/sql/sql_select.cc:1280 #10 0x0000000000645414 in JOIN::optimize (this=0x412fec8) at 10.0-exists2in/sql/sql_select.cc:994 #11 0x0000000000607dcb in st_select_lex::optimize_unflattened_subqueries (this=0x41266c0, const_only=false) at 10.0-exists2in/sql/sql_lex.cc:3491 #12 0x0000000000765838 in JOIN::optimize_unflattened_subqueries (this=0x412d7e8) at 10.0-exists2in/sql/opt_subselect.cc:4900 #13 0x0000000000647e67 in JOIN::optimize_inner (this=0x412d7e8) at 10.0-exists2in/sql/sql_select.cc:1709 #14 0x0000000000645414 in JOIN::optimize (this=0x412d7e8) at 10.0-exists2in/sql/sql_select.cc:994 #15 0x000000000064d0f2 in mysql_select (thd=0x40f6890, rref_pointer_array=0x4126970, tables=0x4128628, wild_num=0, fields=..., conds=0x413f3f8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x4145678, unit=0x4125fc8, select_lex=0x41266c0) at 10.0-exists2in/sql/sql_select.cc:3193 #16 0x000000000064387e in handle_select (thd=0x40f6890, lex=0x4125f18, result=0x4145678, setup_tables_done_option=0) at 10.0-exists2in/sql/sql_select.cc:362 #17 0x000000000061b13b in execute_sqlcom_select (thd=0x40f6890, all_tables=0x4128628) at 10.0-exists2in/sql/sql_parse.cc:4937 #18 0x00000000006137a8 in mysql_execute_command (thd=0x40f6890) at 10.0-exists2in/sql/sql_parse.cc:2421 #19 0x0000000000635b95 in Prepared_statement::execute (this=0x40fea60, expanded_query=0x7f2503b39c30, open_cursor=false) at 10.0-exists2in/sql/sql_prepare.cc:3914 #20 0x0000000000634c2c in Prepared_statement::execute_loop (this=0x40fea60, expanded_query=0x7f2503b39c30, open_cursor=false, packet=0x0, packet_end=0x0) at 10.0-exists2in/sql/sql_prepare.cc:3570 #21 0x0000000000632ce3 in mysql_sql_stmt_execute (thd=0x40f6890) at 10.0-exists2in/sql/sql_prepare.cc:2732 #22 0x00000000006137d9 in mysql_execute_command (thd=0x40f6890) at 10.0-exists2in/sql/sql_parse.cc:2431 #23 0x000000000061d9f6 in mysql_parse (thd=0x40f6890, rawbuf=0x412e238 "EXECUTE stmt", length=12, parser_state=0x7f2503b3a4e0) at 10.0-exists2in/sql/sql_parse.cc:6056 #24 0x000000000061099a in dispatch_command (command=COM_QUERY, thd=0x40f6890, packet=0x4100aa1 "EXECUTE stmt", packet_length=12) at 10.0-exists2in/sql/sql_parse.cc:1216 #25 0x000000000060fb93 in do_command (thd=0x40f6890) at 10.0-exists2in/sql/sql_parse.cc:945 #26 0x000000000071a57a in do_handle_one_connection (thd_arg=0x40f6890) at 10.0-exists2in/sql/sql_connect.cc:1254
branch: 10.0-exists2in revision-id: sanja@montyprogram.com-20121129184233-zxp9qe77tfcupomh date: 2012-11-29 20:42:33 +0200 revno: 3486
Minimal optimizer_switch: in_to_exists=on,semijoin=on,exists_to_in=on
Full optimizer_switch (default + exists_to_in=on):
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off,exists_to_in=on
Test case:
SET optimizer_switch='in_to_exists=on,semijoin=on,exists_to_in=on'; CREATE TABLE t1 (a INT) ENGINE=MyISAM; INSERT INTO t1 VALUES (1),(2); CREATE TABLE t2 (b INT) ENGINE=MyISAM; INSERT INTO t2 VALUES (4),(6); CREATE ALGORITHM=MERGE VIEW v AS SELECT * FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE b = a ); PREPARE stmt FROM ' SELECT * FROM v '; EXECUTE stmt; EXECUTE stmt;
A variation with a subquery instead of the view also fails.
Gliffy Diagrams
Attachments
Issue Links
- is part of
-
MDEV-38 NOT EXISTS to IN (part of exists2in transformation for 10.0)
-
- Closed
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Item_exists_subselect::exists2in_processor called only on second execution.