[MDEV-19139] Assertion `!derived->first_select()->first_inner_unit() || derived->first_select()->first_inner_unit()->with_element || derived->first_select()->first_inner_unit()->first_select()-> exclude_from_table_unique_test' failed Created: 2019-04-02  Updated: 2019-05-22  Resolved: 2019-05-09

Status: Closed
Project: MariaDB Server
Component/s: Optimizer
Affects Version/s: 10.2, 10.3, 10.4
Fix Version/s: 10.2.24

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Galina Shalygina (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-19187 Assertion `!derived->first_select()->... Stalled

 Description   

create table t1 (i int) engine=myisam; 
create algorithm=temptable view v1 as select * from t1 ;
select * from (select 1 from v1 union (select 1 from v1 where @a := uuid())) dt;

10.2 d59ad6972bc70c32ad75

mysqld: /10.2/sql/table.cc:5637: void TABLE_LIST::set_check_materialized(): Assertion `!derived->first_select()->first_inner_unit() || derived->first_select()->first_inner_unit()->first_select()-> exclude_from_table_unique_test' failed.
 
stdlib/abort.c:91(__GI_abort)[0x7fc843736bd7]
assert/assert.c:92(__assert_fail_base)[0x7fc843736c82]
/10.2/sql/mysqld(_ZN10TABLE_LIST22set_check_materializedEv+0x2af)[0x55c67728514b]
/10.2/sql/mysqld(_ZN10TABLE_LIST24set_materialized_derivedEv+0x23f)[0x55c676f1597f]
sql/table.cc:5639(TABLE_LIST::set_check_materialized())[0x55c6777062e8]
sql/table.h:2360(TABLE_LIST::set_materialized_derived())[0x55c6770928c4]
sql/item_func.cc:4720(Item_func_set_user_var::fix_fields(THD*, Item**))[0x55c6770902ab]
sql/sql_select.cc:1353(JOIN::optimize_inner())[0x55c676f8c3f9]
sql/sql_select.cc:1115(JOIN::optimize())[0x55c676f885aa]
sql/sql_derived.cc:897(mysql_derived_optimize(THD*, LEX*, TABLE_LIST*))[0x55c677093072]
sql/sql_derived.cc:198(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x55c6770902ab]
sql/sql_select.cc:1401(JOIN::optimize_inner())[0x55c677231e04]
sql/sql_select.cc:1115(JOIN::optimize())[0x55c676f8c2d6]
sql/sql_union.cc:957(st_select_lex_unit::optimize())[0x55c676f885aa]
sql/sql_derived.cc:888(mysql_derived_optimize(THD*, LEX*, TABLE_LIST*))[0x55c677093072]
sql/sql_derived.cc:198(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x55c6770902ab]
sql/sql_select.cc:1401(JOIN::optimize_inner())[0x55c6770a978b]
sql/sql_select.cc:1115(JOIN::optimize())[0x55c67708913d]
sql/sql_select.cc:3804(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55c677010aad]
sql/sql_select.cc:376(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55c676ffdf73]
sql/sql_parse.cc:6479(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55c677019211]
sql/sql_parse.cc:3537(mysql_execute_command(THD*))[0x55c676ff48c6]
sql/sql_parse.cc:8013(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55c676ff1a45]
sql/sql_parse.cc:1834(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55c6773199f6]
sql/sql_parse.cc:1386(do_command(THD*))[0x55c6773193fe]
sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x55c6784d1404]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fc84437b6ba]
x86_64/clone.S:111(clone)[0x7fc84381041d]



 Comments   
Comment by Galina Shalygina (Inactive) [ 2019-04-24 ]

The bug occurs because @a := uuid() is pushed into v1 view. It shouldn't be pushed so the fix for this bug is trivial.

Comment by Igor Babaev [ 2019-04-24 ]

Ok to push into 10.2

Comment by Galina Shalygina (Inactive) [ 2019-05-09 ]

Pushed in 10.2

Generated at Thu Feb 08 08:49:21 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.