(gdb) bt full
|
#0 st_select_lex::handle_derived (this=0x52900008a548, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.cc:4420
|
No locals.
|
#1 0x0000000000cff6c6 in TABLE_LIST::handle_derived (this=0x52b0000a5640, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/table.cc:9087
|
sl = 0x52900008a548
|
unit = <optimized out>
|
#2 0x00000000009c891b in LEX::handle_list_of_derived (this=0x52b00009deb0, table_list=<optimized out>, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.h:4455
|
tl = 0x52b0000a5640
|
#3 st_select_lex::handle_derived (this=<optimized out>, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.cc:4420
|
No locals.
|
#4 0x0000000000cff6c6 in TABLE_LIST::handle_derived (this=0x529000087228, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/table.cc:9087
|
sl = 0x52b0000a4e38
|
unit = <optimized out>
|
#5 0x00000000009c891b in LEX::handle_list_of_derived (this=0x52b00009deb0, table_list=<optimized out>, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.h:4455
|
tl = 0x529000087228
|
#6 st_select_lex::handle_derived (this=<optimized out>, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.cc:4420
|
No locals.
|
#7 0x0000000000ac508b in JOIN::prepare (this=0x52900008cde8, tables_init=<optimized out>, wild_num=<optimized out>, conds_init=<optimized out>, og_num=<optimized out>,
|
order_init=<optimized out>, skip_order_by=<optimized out>, group_init=<optimized out>, having_init=<optimized out>, proc_param_init=<optimized out>, select_lex_arg=<optimized out>,
|
unit_arg=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_select.cc:1243
|
trace_wrapper = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa20 <vtable for Json_writer_object+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
|
closed = <optimized out>}, <No data fields>}
|
trace_prepare = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa20 <vtable for Json_writer_object+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
|
closed = <optimized out>}, <No data fields>}
|
trace_steps = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa68 <vtable for Json_writer_array+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
|
closed = <optimized out>}, <No data fields>}
|
real_og_num = <optimized out>
|
derived = <optimized out>
|
save_place = <optimized out>
|
with_clause = <optimized out>
|
res = <optimized out>
|
with_elem = <optimized out>
|
#8 0x0000000000ab9d08 in mysql_select (thd=<optimized out>, thd@entry=0x52b00009a208, tables=<optimized out>, wild_num=<optimized out>,
|
fields=@0x52b0000a64a0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x52b0000a6a20, last = 0x52b0000a6b78, elements = 2}, <No data fields>}, conds=<optimized out>,
|
og_num=<optimized out>, order=<optimized out>, group=<optimized out>, having=<optimized out>, proc_param=<optimized out>, select_options=<optimized out>, result=<optimized out>,
|
unit=<optimized out>, select_lex=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_select.cc:4813
|
err = 0
|
free_join = <optimized out>
|
join = 0x52900008cde8
|
#9 0x0000000000ab9627 in handle_select (thd=thd@entry=0x52b00009a208, lex=<optimized out>, result=result@entry=0x52900008ae50, setup_tables_done_option=setup_tables_done_option@entry=0)
|
at /home/dan/repos/mariadb-server-10.4/sql/sql_select.cc:442
|
unit = 0x52b00009df70
|
select_lex = 0x52b0000a6340
|
res = <optimized out>
|
#10 0x0000000000a47668 in execute_sqlcom_select (thd=0x52b00009a208, all_tables=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:6557
|
save_protocol = 0x0
|
lex = <optimized out>
|
result = 0x52900008ae50
|
res = <optimized out>
|
#11 0x0000000000a374a5 in mysql_execute_command (thd=0x52b00009a208) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:3988
|
privileges_requested = <optimized out>
|
all_tables = 0x529000087228
|
trace_command = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa20 <vtable for Json_writer_object+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
|
closed = <optimized out>}, <No data fields>}
|
trace_command_steps = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa68 <vtable for Json_writer_array+16>, my_writer = <optimized out>, context = {
|
writer = <optimized out>}, closed = <optimized out>}, <No data fields>}
|
res = <optimized out>
|
up_result = 0
|
lex = 0x52b00009deb0
|
select_lex = <optimized out>
|
first_table = 0x529000087228
|
unit = 0x52b00009df70
|
have_table_map_for_update = <optimized out>
|
orig_binlog_format = BINLOG_FORMAT_MIXED
|
orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT
|
rpl_filter = <optimized out>
|
ots = <optimized out>
|
error = <optimized out>
|
wsrep_error_label = <optimized out>
|
#12 0x0000000000a2a45d in mysql_parse (thd=0x52b00009a208, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, is_com_multi=<optimized out>,
|
is_next_command=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:8096
|
found_semicolon = <optimized out>
|
error = <optimized out>
|
lex = 0x52b00009deb0
|
err = false
|
#13 0x0000000000a23786 in dispatch_command (command=<optimized out>, thd=0x52b00009a208, packet=<optimized out>, packet_length=<optimized out>, is_com_multi=<optimized out>,
|
is_next_command=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:1857
|
parser_state = {m_lip = {lookahead_token = <optimized out>, lookahead_yylval = <optimized out>, m_thd = <optimized out>, m_ptr = <optimized out>, m_tok_start = <optimized out>,
|
m_tok_end = <optimized out>, m_end_of_query = <optimized out>, m_tok_start_prev = <optimized out>, m_buf = <optimized out>, m_buf_length = <optimized out>,
|
m_echo = <optimized out>, m_echo_saved = <optimized out>, m_cpp_buf = <optimized out>, m_cpp_ptr = <optimized out>, m_cpp_tok_start = <optimized out>,
|
m_cpp_tok_start_prev = <optimized out>, m_cpp_tok_end = <optimized out>, m_body_utf8 = <optimized out>, m_body_utf8_ptr = <optimized out>,
|
m_cpp_utf8_processed_ptr = <optimized out>, next_state = <optimized out>, found_semicolon = <optimized out>, ignore_space = <optimized out>, stmt_prepare_mode = <optimized out>,
|
multi_statements = <optimized out>, yylineno = <optimized out>, m_digest = <optimized out>, in_comment = <optimized out>, in_comment_saved = <optimized out>,
|
m_cpp_text_start = <optimized out>, m_cpp_text_end = <optimized out>, m_underscore_cs = <optimized out>}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {
|
m_item = {<optimized out> <repeats 12 times>}}, m_lock_type = TL_READ_DEFAULT, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = <optimized out>}
|
packet_end = <optimized out>
|
net = <optimized out>
|
error = false
|
do_end_of_statement = true
|
drop_more_results = <optimized out>
|
#14 0x0000000000a2b33b in do_command (thd=0x52b00009a208) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:1378
|
packet = <optimized out>
|
net = 0x52b00009a4b0
|
packet_length = <optimized out>
|
command = COM_QUERY
|
return_value = <optimized out>
|
#15 0x0000000000d77a54 in do_handle_one_connection (connect=0x508000000fa8) at /home/dan/repos/mariadb-server-10.4/sql/sql_connect.cc:1419
|
create_user = true
|
thd = 0x52b00009a208
|
thr_create_utime = <optimized out>
|
#16 0x0000000000d773c8 in handle_one_connection (arg=0x508000000fa8) at /home/dan/repos/mariadb-server-10.4/sql/sql_connect.cc:1323
|
connect = 0x508000000fa8
|
#17 0x000000000075d41f in asan_thread_start(void*) ()
|
No symbol table info available.
|
#18 0x00007ffff7888897 in start_thread (arg=<optimized out>) at pthread_create.c:444
|
ret = <optimized out>
|
pd = <optimized out>
|
out = <optimized out>
|
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737346307488, 4146493390576177645, 140736127309504, -472, 2, 140737488340496, 4146493390689423853, 4146688343696101869},
|
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
|
not_first_call = <optimized out>
|
#19 0x00007ffff790f80c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
|
No locals.
|
(gdb) list
|
4415 @return TRUE an error occur.
|
4416 */
|
4417
|
4418 bool st_select_lex::handle_derived(LEX *lex, uint phases)
|
4419 {
|
4420 return lex->handle_list_of_derived(table_list.first, phases);
|
4421 }
|
4422
|
4423
|
4424 /**
|
(gdb) info locals
|
No locals.
|
(gdb) up
|
#1 0x0000000000cff6c6 in TABLE_LIST::handle_derived (this=0x52b0000a5640, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/table.cc:9087
|
9087 if (sl->handle_derived(lex, phases))
|
(gdb) list
|
9082 if (unit)
|
9083 {
|
9084 if (!is_with_table_recursive_reference())
|
9085 {
|
9086 for (SELECT_LEX *sl= unit->first_select(); sl; sl= sl->next_select())
|
9087 if (sl->handle_derived(lex, phases))
|
9088 DBUG_RETURN(TRUE);
|
9089 }
|
9090 if (mysql_handle_single_derived(lex, this, phases))
|
9091 DBUG_RETURN(TRUE);
|
(gdb)
|
Infinite recursion with CTE only:
10.4 ef7abc881c770e7ee3f8c9611566697915a18c69
(gdb) bt full
#0 st_select_lex::handle_derived (this=0x52900008a548, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.cc:4420
No locals.
#1 0x0000000000cff6c6 in TABLE_LIST::handle_derived (this=0x52b0000a5640, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/table.cc:9087
sl = 0x52900008a548
unit = <optimized out>
#2 0x00000000009c891b in LEX::handle_list_of_derived (this=0x52b00009deb0, table_list=<optimized out>, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.h:4455
tl = 0x52b0000a5640
#3 st_select_lex::handle_derived (this=<optimized out>, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.cc:4420
No locals.
#4 0x0000000000cff6c6 in TABLE_LIST::handle_derived (this=0x529000087228, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/table.cc:9087
sl = 0x52b0000a4e38
unit = <optimized out>
#5 0x00000000009c891b in LEX::handle_list_of_derived (this=0x52b00009deb0, table_list=<optimized out>, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.h:4455
tl = 0x529000087228
#6 st_select_lex::handle_derived (this=<optimized out>, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/sql_lex.cc:4420
No locals.
#7 0x0000000000ac508b in JOIN::prepare (this=0x52900008cde8, tables_init=<optimized out>, wild_num=<optimized out>, conds_init=<optimized out>, og_num=<optimized out>,
order_init=<optimized out>, skip_order_by=<optimized out>, group_init=<optimized out>, having_init=<optimized out>, proc_param_init=<optimized out>, select_lex_arg=<optimized out>,
unit_arg=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_select.cc:1243
trace_wrapper = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa20 <vtable for Json_writer_object+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
closed = <optimized out>}, <No data fields>}
trace_prepare = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa20 <vtable for Json_writer_object+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
closed = <optimized out>}, <No data fields>}
trace_steps = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa68 <vtable for Json_writer_array+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
closed = <optimized out>}, <No data fields>}
real_og_num = <optimized out>
derived = <optimized out>
save_place = <optimized out>
with_clause = <optimized out>
res = <optimized out>
with_elem = <optimized out>
#8 0x0000000000ab9d08 in mysql_select (thd=<optimized out>, thd@entry=0x52b00009a208, tables=<optimized out>, wild_num=<optimized out>,
fields=@0x52b0000a64a0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x52b0000a6a20, last = 0x52b0000a6b78, elements = 2}, <No data fields>}, conds=<optimized out>,
og_num=<optimized out>, order=<optimized out>, group=<optimized out>, having=<optimized out>, proc_param=<optimized out>, select_options=<optimized out>, result=<optimized out>,
unit=<optimized out>, select_lex=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_select.cc:4813
err = 0
free_join = <optimized out>
join = 0x52900008cde8
#9 0x0000000000ab9627 in handle_select (thd=thd@entry=0x52b00009a208, lex=<optimized out>, result=result@entry=0x52900008ae50, setup_tables_done_option=setup_tables_done_option@entry=0)
at /home/dan/repos/mariadb-server-10.4/sql/sql_select.cc:442
unit = 0x52b00009df70
select_lex = 0x52b0000a6340
res = <optimized out>
#10 0x0000000000a47668 in execute_sqlcom_select (thd=0x52b00009a208, all_tables=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:6557
save_protocol = 0x0
lex = <optimized out>
result = 0x52900008ae50
res = <optimized out>
#11 0x0000000000a374a5 in mysql_execute_command (thd=0x52b00009a208) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:3988
privileges_requested = <optimized out>
all_tables = 0x529000087228
trace_command = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa20 <vtable for Json_writer_object+16>, my_writer = <optimized out>, context = {writer = <optimized out>},
closed = <optimized out>}, <No data fields>}
trace_command_steps = {<Json_writer_struct> = {_vptr$Json_writer_struct = 0x2e0fa68 <vtable for Json_writer_array+16>, my_writer = <optimized out>, context = {
writer = <optimized out>}, closed = <optimized out>}, <No data fields>}
res = <optimized out>
up_result = 0
lex = 0x52b00009deb0
select_lex = <optimized out>
first_table = 0x529000087228
unit = 0x52b00009df70
have_table_map_for_update = <optimized out>
orig_binlog_format = BINLOG_FORMAT_MIXED
orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT
rpl_filter = <optimized out>
ots = <optimized out>
error = <optimized out>
wsrep_error_label = <optimized out>
#12 0x0000000000a2a45d in mysql_parse (thd=0x52b00009a208, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, is_com_multi=<optimized out>,
is_next_command=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:8096
found_semicolon = <optimized out>
error = <optimized out>
lex = 0x52b00009deb0
err = false
#13 0x0000000000a23786 in dispatch_command (command=<optimized out>, thd=0x52b00009a208, packet=<optimized out>, packet_length=<optimized out>, is_com_multi=<optimized out>,
is_next_command=<optimized out>) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:1857
parser_state = {m_lip = {lookahead_token = <optimized out>, lookahead_yylval = <optimized out>, m_thd = <optimized out>, m_ptr = <optimized out>, m_tok_start = <optimized out>,
m_tok_end = <optimized out>, m_end_of_query = <optimized out>, m_tok_start_prev = <optimized out>, m_buf = <optimized out>, m_buf_length = <optimized out>,
m_echo = <optimized out>, m_echo_saved = <optimized out>, m_cpp_buf = <optimized out>, m_cpp_ptr = <optimized out>, m_cpp_tok_start = <optimized out>,
m_cpp_tok_start_prev = <optimized out>, m_cpp_tok_end = <optimized out>, m_body_utf8 = <optimized out>, m_body_utf8_ptr = <optimized out>,
m_cpp_utf8_processed_ptr = <optimized out>, next_state = <optimized out>, found_semicolon = <optimized out>, ignore_space = <optimized out>, stmt_prepare_mode = <optimized out>,
multi_statements = <optimized out>, yylineno = <optimized out>, m_digest = <optimized out>, in_comment = <optimized out>, in_comment_saved = <optimized out>,
m_cpp_text_start = <optimized out>, m_cpp_text_end = <optimized out>, m_underscore_cs = <optimized out>}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {
m_item = {<optimized out> <repeats 12 times>}}, m_lock_type = TL_READ_DEFAULT, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = <optimized out>}
packet_end = <optimized out>
net = <optimized out>
error = false
do_end_of_statement = true
drop_more_results = <optimized out>
#14 0x0000000000a2b33b in do_command (thd=0x52b00009a208) at /home/dan/repos/mariadb-server-10.4/sql/sql_parse.cc:1378
packet = <optimized out>
net = 0x52b00009a4b0
packet_length = <optimized out>
command = COM_QUERY
return_value = <optimized out>
#15 0x0000000000d77a54 in do_handle_one_connection (connect=0x508000000fa8) at /home/dan/repos/mariadb-server-10.4/sql/sql_connect.cc:1419
create_user = true
thd = 0x52b00009a208
thr_create_utime = <optimized out>
#16 0x0000000000d773c8 in handle_one_connection (arg=0x508000000fa8) at /home/dan/repos/mariadb-server-10.4/sql/sql_connect.cc:1323
connect = 0x508000000fa8
#17 0x000000000075d41f in asan_thread_start(void*) ()
No symbol table info available.
#18 0x00007ffff7888897 in start_thread (arg=<optimized out>) at pthread_create.c:444
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737346307488, 4146493390576177645, 140736127309504, -472, 2, 140737488340496, 4146493390689423853, 4146688343696101869},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#19 0x00007ffff790f80c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
No locals.
(gdb) list
4415 @return TRUE an error occur.
4416 */
4417
4418 bool st_select_lex::handle_derived(LEX *lex, uint phases)
4419 {
4420 return lex->handle_list_of_derived(table_list.first, phases);
4421 }
4422
4423
4424 /**
(gdb) info locals
No locals.
(gdb) up
#1 0x0000000000cff6c6 in TABLE_LIST::handle_derived (this=0x52b0000a5640, lex=0x52b00009deb0, phases=2) at /home/dan/repos/mariadb-server-10.4/sql/table.cc:9087
9087 if (sl->handle_derived(lex, phases))
(gdb) list
9082 if (unit)
9083 {
9084 if (!is_with_table_recursive_reference())
9085 {
9086 for (SELECT_LEX *sl= unit->first_select(); sl; sl= sl->next_select())
9087 if (sl->handle_derived(lex, phases))
9088 DBUG_RETURN(TRUE);
9089 }
9090 if (mysql_handle_single_derived(lex, this, phases))
9091 DBUG_RETURN(TRUE);
(gdb)