summaryrefslogtreecommitdiff
path: root/sql/sql_lex.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2022-10-04 07:41:35 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2022-10-04 07:41:35 +0200
commitb6ebadaa66ee68b1880c0e10669543d1ba058c18 (patch)
tree75506bd02a8186a013b5eb16a425de0c1d96bc71 /sql/sql_lex.cc
parent7d4b2b984779e695d0c233d11173b2965d25ef27 (diff)
parentfe449affcf99fcf63f620994b544eb96d2504cda (diff)
downloadmariadb-git-b6ebadaa66ee68b1880c0e10669543d1ba058c18.tar.gz
Merge branch '10.6' into 10.7
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r--sql/sql_lex.cc24
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;
}