Description:
Hello MySQL Team:
Here is a problem about lateral, can be repeated in 8.0.42 debug version.
How to repeat:
Here is sql:
mysql> select version();
+--------------+
| version() |
+--------------+
| 8.0.42-debug |
+--------------+
1 row in set (0.00 sec)
create table t10(b int);
create table tp(a int,b int,c1 int);
create table t21(a int,b int,c1 int);
select subq_0.c0 from tp, lateral (select tp.a+ t21.b as c0 from t21 group by 1 ) as subq_0 where subq_0.c0;
backtrace as follow:
#0 0x00007f32cb8f6387 in raise () from /lib64/libc.so.6
#1 0x00007f32cb8f7a78 in abort () from /lib64/libc.so.6
#2 0x00007f32cb8ef1a6 in __assert_fail_base () from /lib64/libc.so.6
#3 0x00007f32cb8ef252 in __assert_fail () from /lib64/libc.so.6
#4 0x0000000003ba93b0 in operator() (__closure=0x7f32a4265940, inner_item=0x7f32100fed20)
at /data/code/mysql-server/sql/sql_derived.cc:536
#5 0x0000000003bad1b7 in Item::walk_helper_thunk<copy_field_info(THD*, Item*, Item*)::<lambda(Item*)> >(uchar *) (this=0x7f32100fed20,
arg=0x7f32a4265940 "\020Y&\244\062\177") at /data/code/mysql-server/sql/item.h:2472
#6 0x000000000330ac5a in Item::walk (this=0x7f32100fed20, processor=
(bool (Item::*)(Item * const, unsigned char *)) 0x3bad194 <Item::walk_helper_thunk<copy_field_info(THD*, Item*, Item*)::<lambda(Item*)> >(uchar *)>, walk=enum_walk::PREFIX, arg=0x7f32a4265940 "\020Y&\244\062\177") at /data/code/mysql-server/sql/item.h:2465
#7 0x00000000039336c5 in Item_func::walk (this=0x7f32100fc280, processor=
(bool (Item::*)(Item * const, unsigned char *)) 0x3bad194 <Item::walk_helper_thunk<copy_field_info(THD*, Item*, Item*)::<lambda(Item*)> >(uchar *)>, walk=enum_walk::PREFIX, argument=0x7f32a4265940 "\020Y&\244\062\177") at /data/code/mysql-server/sql/item_func.cc:618
#8 0x0000000003bad208 in WalkItem<copy_field_info(THD*, Item*, Item*)::<lambda(Item*)> >(Item *, enum_walk, struct {...} &&) (
item=0x7f32100fc280, walk=enum_walk::PREFIX, functor=...) at /data/code/mysql-server/sql/item.h:3594
#9 0x0000000003ba9681 in copy_field_info (thd=0x7f321017e970, orig_expr=0x7f32100fc280, cloned_expr=0x7f32101054b8)
at /data/code/mysql-server/sql/sql_derived.cc:531
#10 0x0000000003ba9dbc in Query_block::clone_expression (this=0x7f32100fe3f0, thd=0x7f321017e970, item=0x7f32100fc280,
derived_table=0x7f32101011f0) at /data/code/mysql-server/sql/sql_derived.cc:795
#11 0x00000000038a2172 in Item_field::replace_with_derived_expr (this=0x7f3210101840, arg=0x7f32a4265ac0 "\360\021\020\020\062\177")
at /data/code/mysql-server/sql/item.cc:1087
#12 0x00000000038a1468 in Item::transform (this=0x7f3210101840, transformer=&virtual Item::replace_with_derived_expr(unsigned char*),
arg=0x7f32a4265ac0 "\360\021\020\020\062\177") at /data/code/mysql-server/sql/item.cc:780
#13 0x000000000393393c in Item_func::transform (this=0x7f3210101a30, transformer=&virtual table offset 992,
argument=0x7f32a4265ac0 "\360\021\020\020\062\177") at /data/code/mysql-server/sql/item_func.cc:660
#14 0x0000000003babfbe in Condition_pushdown::replace_columns_in_cond (this=0x7f32a4265c80, cond=0x7f32a4265ca8, is_having=false)
at /data/code/mysql-server/sql/sql_derived.cc:1432
#15 0x0000000003baaf1e in Condition_pushdown::make_cond_for_derived (this=0x7f32a4265c80)
at /data/code/mysql-server/sql/sql_derived.cc:1118
#16 0x00000000034ebb3c in Query_block::push_conditions_to_derived_tables (this=0x7f32100fb628, thd=0x7f321017e970)
at /data/code/mysql-server/sql/sql_resolver.cc:629
#17 0x00000000034ec300 in Query_block::apply_local_transforms (this=0x7f32100fb628, thd=0x7f321017e970, prune=true)
at /data/code/mysql-server/sql/sql_resolver.cc:834
#18 0x00000000034eb88f in Query_block::prepare (this=0x7f32100fb628, thd=0x7f321017e970, insert_field_list=0x0)
at /data/code/mysql-server/sql/sql_resolver.cc:593
#19 0x000000000351a94d in Sql_cmd_select::prepare_inner (this=0x7f3210102cc0, thd=0x7f321017e970)
at /data/code/mysql-server/sql/sql_select.cc:651
#20 0x000000000351a3a9 in Sql_cmd_dml::prepare (this=0x7f3210102cc0, thd=0x7f321017e970) at /data/code/mysql-server/sql/sql_select.cc:567
#21 0x000000000351abd8 in Sql_cmd_dml::execute (this=0x7f3210102cc0, thd=0x7f321017e970) at /data/code/mysql-server/sql/sql_select.cc:710
#22 0x0000000003499c38 in mysql_execute_command (thd=0x7f321017e970, first_level=true) at /data/code/mysql-server/sql/sql_parse.cc:4724
--Type <RET> for more, q to quit, c to continue without paging--
#23 0x000000000349bf6b in dispatch_sql_command (thd=0x7f321017e970, parser_state=0x7f32a4267890)
at /data/code/mysql-server/sql/sql_parse.cc:5385
#24 0x0000000003491e4f in dispatch_command (thd=0x7f321017e970, com_data=0x7f32a4268980, command=COM_QUERY)
at /data/code/mysql-server/sql/sql_parse.cc:2055
#25 0x000000000348fe68 in do_command (thd=0x7f321017e970) at /data/code/mysql-server/sql/sql_parse.cc:1440
#26 0x00000000036a777d in handle_connection (arg=0xb9d2a20)
at /data/code/mysql-server/sql/conn_handler/connection_handler_per_thread.cc:303
#27 0x0000000005637db9 in pfs_spawn_thread (arg=0xba537a0) at /data/code/mysql-server/storage/perfschema/pfs.cc:3050
#28 0x00007f32cd4faea5 in start_thread () from /lib64/libpthread.so.0
#29 0x00007f32cb9beb0d in clone () from /lib64/libc.so.6