diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2022-10-04 07:41:35 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2022-10-04 07:41:35 +0200 |
commit | b6ebadaa66ee68b1880c0e10669543d1ba058c18 (patch) | |
tree | 75506bd02a8186a013b5eb16a425de0c1d96bc71 /sql/sql_lex.cc | |
parent | 7d4b2b984779e695d0c233d11173b2965d25ef27 (diff) | |
parent | fe449affcf99fcf63f620994b544eb96d2504cda (diff) | |
download | mariadb-git-b6ebadaa66ee68b1880c0e10669543d1ba058c18.tar.gz |
Merge branch '10.6' into 10.7
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 8bf65c7dd08..5a9e9ee1a62 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -3074,23 +3074,9 @@ void st_select_lex_node::include_down(st_select_lex_node *upper) } -void st_select_lex_node::add_slave(st_select_lex_node *slave_arg) +void st_select_lex_node::attach_single(st_select_lex_node *slave_arg) { - for (; slave; slave= slave->next) - if (slave == slave_arg) - return; - - if (slave) - { - st_select_lex_node *slave_arg_slave= slave_arg->slave; - /* Insert in the front of list of slaves if any. */ - slave_arg->include_neighbour(slave); - /* include_neighbour() sets slave_arg->slave=0, restore it. */ - slave_arg->slave= slave_arg_slave; - /* Count on include_neighbour() setting the master. */ - DBUG_ASSERT(slave_arg->master == this); - } - else + DBUG_ASSERT(slave == 0); { slave= slave_arg; slave_arg->master= this; @@ -9640,7 +9626,8 @@ Item *LEX::create_item_qualified_asterisk(THD *thd, null_clex_str, *name, star_clex_str))) return NULL; - current_select->with_wild++; + current_select->parsing_place == IN_RETURNING ? + thd->lex->returning()->with_wild++ : current_select->with_wild++; return item; } @@ -9655,7 +9642,8 @@ Item *LEX::create_item_qualified_asterisk(THD *thd, if (!(item= new (thd->mem_root) Item_field(thd, current_context(), schema, *b, star_clex_str))) return NULL; - current_select->with_wild++; + current_select->parsing_place == IN_RETURNING ? + thd->lex->returning()->with_wild++ : current_select->with_wild++; return item; } |