diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-02-02 13:00:15 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-02-02 13:00:15 +0200 |
commit | 213ece2f2e8c23ee0e727cc02dcecfae6f510ca2 (patch) | |
tree | 5ce93ecb5caa9a58ebc08f8cd3e94c59d7219377 /sql/sql_yacc.yy | |
parent | c1e1764fc4b913ee688b383aac2698b83661d64c (diff) | |
parent | d9d83f1d92b696ef56f4944df036b8a78364ebb4 (diff) | |
download | mariadb-git-213ece2f2e8c23ee0e727cc02dcecfae6f510ca2.tar.gz |
Merge 10.1 into 10.1
This is joint work with Oleksandr Byelkin.
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index bfaa0a60a24..f98a7b7e474 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -15699,19 +15699,21 @@ subselect_end: lex->current_select = lex->current_select->return_after_parsing(); lex->nest_level--; lex->current_select->n_child_sum_items += child->n_sum_items; - /* - A subselect can add fields to an outer select. Reserve space for - them. - */ - lex->current_select->select_n_where_fields+= - child->select_n_where_fields; /* - Aggregate functions in having clause may add fields to an outer - select. Count them also. + A subquery (and all the subsequent query blocks in a UNION) can + add columns to an outer query block. Reserve space for them. + Aggregate functions in having clause can also add fields to an + outer select. */ - lex->current_select->select_n_having_items+= - child->select_n_having_items; + for (SELECT_LEX *temp= child->master_unit()->first_select(); + temp != NULL; temp= temp->next_select()) + { + lex->current_select->select_n_where_fields+= + temp->select_n_where_fields; + lex->current_select->select_n_having_items+= + temp->select_n_having_items; + } } ; |