summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorunknown <kaa@kaamos.(none)>2008-01-10 20:44:23 +0300
committerunknown <kaa@kaamos.(none)>2008-01-10 20:44:23 +0300
commit824ced465e8f1527a6336236d0352e2a16442c5d (patch)
tree0cf0391032951c314626347136f44ecfaf3def8c /sql/sql_yacc.yy
parentc8f6457f650845ab1f9e04b2136b8351e4d465aa (diff)
parentcd6dc10c4602e056b0892714dbe35eba497a40f2 (diff)
downloadmariadb-git-824ced465e8f1527a6336236d0352e2a16442c5d.tar.gz
Merge kaamos.(none):/data/src/mysql-5.1
into kaamos.(none):/data/src/opt/mysql-5.1-opt client/mysql.cc: Auto merged client/mysqltest.c: Auto merged sql/log.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index b4d8bb2dfb8..6d2e4ea9a59 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -6151,6 +6151,14 @@ select_paren:
my_parse_error(ER(ER_SYNTAX_ERROR));
MYSQL_YYABORT;
}
+ if (sel->linkage == UNION_TYPE &&
+ sel->olap != UNSPECIFIED_OLAP_TYPE &&
+ sel->master_unit()->fake_select_lex)
+ {
+ my_error(ER_WRONG_USAGE, MYF(0),
+ "CUBE/ROLLUP", "ORDER BY");
+ MYSQL_YYABORT;
+ }
/* select in braces, can't contain global parameters */
if (sel->master_unit()->fake_select_lex)
sel->master_unit()->global_parameters=
@@ -8039,7 +8047,8 @@ order_clause:
SELECT_LEX *sel= lex->current_select;
SELECT_LEX_UNIT *unit= sel-> master_unit();
if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
- sel->olap != UNSPECIFIED_OLAP_TYPE)
+ sel->olap != UNSPECIFIED_OLAP_TYPE &&
+ (sel->linkage != UNION_TYPE || sel->braces))
{
my_error(ER_WRONG_USAGE, MYF(0),
"CUBE/ROLLUP", "ORDER BY");