summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_lex.cc1
-rw-r--r--sql/sql_yacc.yy7
2 files changed, 3 insertions, 5 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index 4f481b2211f..790463acf89 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -1367,6 +1367,7 @@ int MYSQLlex(YYSTYPE *yylval, THD *thd)
}
break;
case PARTITION_SYM:
+ case SELECT_SYM:
case UNION_SYM:
if (thd->lex->current_select &&
thd->lex->current_select->parsing_place == BEFORE_OPT_FIELD_LIST)
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 25e7d2aab46..a2eab12f880 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -8765,11 +8765,8 @@ query_specification:
{
SELECT_LEX *sel;
LEX *lex= Lex;
- if (lex->current_select &&
- lex->current_select->parsing_place == BEFORE_OPT_FIELD_LIST)
- lex->current_select->parsing_place= NO_MATTER;
- if (!(sel= Lex->alloc_select(TRUE)) ||
- Lex->push_select(sel))
+ if (!(sel= lex->alloc_select(TRUE)) ||
+ lex->push_select(sel))
MYSQL_YYABORT;
sel->init_select();
sel->braces= FALSE;