summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorunknown <antony@ltantony.mysql.com>2005-05-09 14:50:56 +0100
committerunknown <antony@ltantony.mysql.com>2005-05-09 14:50:56 +0100
commit3a842fdfc0b449a1732563692ee8801b2ef3a0d9 (patch)
tree0419e03dad7c40aed1234b3b2e7128e851b6655c /sql/sql_yacc.yy
parente514a1eea2b658602fb6784ee6a7ab8c13235a70 (diff)
parent19b8643830e557218143b2bd95abe9915ef07571 (diff)
downloadmariadb-git-3a842fdfc0b449a1732563692ee8801b2ef3a0d9.tar.gz
Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.1
into ltantony.mysql.com:/usr/home/antony/work2/p3-bug8733 sql/sql_yacc.yy: Auto merged
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy20
1 files changed, 18 insertions, 2 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 73845f7d645..abe7a716a69 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -2481,7 +2481,15 @@ select_option:
YYABORT;
Lex->lock_option= TL_READ_HIGH_PRIORITY;
}
- | DISTINCT { Select->options|= SELECT_DISTINCT; }
+ | DISTINCT
+ {
+ if (Select->options & SELECT_ALL)
+ {
+ yyerror(ER(ER_SYNTAX_ERROR));
+ YYABORT;
+ }
+ Select->options|= SELECT_DISTINCT;
+ }
| SQL_SMALL_RESULT { Select->options|= SELECT_SMALL_RESULT; }
| SQL_BIG_RESULT { Select->options|= SELECT_BIG_RESULT; }
| SQL_BUFFER_RESULT
@@ -2501,7 +2509,15 @@ select_option:
{
Lex->select_lex.options|= OPTION_TO_QUERY_CACHE;
}
- | ALL {}
+ | ALL
+ {
+ if (Select->options & SELECT_DISTINCT)
+ {
+ yyerror(ER(ER_SYNTAX_ERROR));
+ YYABORT;
+ }
+ Select->options|= SELECT_ALL;
+ }
;
select_lock_type: