summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 1b50cb03572..dbc401b3ddc 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -2432,7 +2432,8 @@ order_clause:
net_printf(lex->thd, ER_WRONG_USAGE, "UPDATE", "ORDER BY");
YYABORT;
}
- if (lex->select->olap != UNSPECIFIED_OLAP_TYPE)
+ if (lex->select->linkage != GLOBAL_OPTIONS_TYPE &&
+ lex->select->olap != UNSPECIFIED_OLAP_TYPE)
{
net_printf(lex->thd, ER_WRONG_USAGE,
"CUBE/ROLLUP",
@@ -2458,7 +2459,8 @@ limit_clause:
| LIMIT ULONG_NUM
{
LEX *lex=Lex;
- if (lex->select->olap != UNSPECIFIED_OLAP_TYPE)
+ if (lex->select->linkage != GLOBAL_OPTIONS_TYPE &&
+ lex->select->olap != UNSPECIFIED_OLAP_TYPE)
{
net_printf(lex->thd, ER_WRONG_USAGE, "CUBE/ROLLUP",
"LIMIT");
@@ -2471,7 +2473,8 @@ limit_clause:
| LIMIT ULONG_NUM ',' ULONG_NUM
{
LEX *lex=Lex;
- if (lex->select->olap != UNSPECIFIED_OLAP_TYPE)
+ if (lex->select->linkage != GLOBAL_OPTIONS_TYPE &&
+ lex->select->olap != UNSPECIFIED_OLAP_TYPE)
{
net_printf(lex->thd, ER_WRONG_USAGE, "CUBE/ROLLUP",
"LIMIT");