Fix for BUG#8023.

Allow LIMIT clause after DUAL.


mysql-test/r/limit.result:
  Added test result for BUG#8023.
mysql-test/t/limit.test:
  Added test for BUG#8023.
sql/sql_yacc.yy:
  Allow the specification of a LIMIT clause after DUAL. This is needed for queries as:
  select a from t1 union all select 1 from dual limit 1;
  In this query LIMIT is applied to the whole UNION, so it makes sense, however, the
  current parser did not allow any clause after DUAL.
This commit is contained in:
unknown 2005-02-02 08:38:24 +02:00
commit d81a0bede2
3 changed files with 24 additions and 4 deletions

View file

@ -49,3 +49,13 @@ SELECT * FROM t1;
DELETE FROM t1 WHERE id2 = 0 ORDER BY id desc LIMIT 1;
SELECT * FROM t1;
DROP TABLE t1;
#
# Bug#8023 - limit on UNION with from DUAL, causes syntax error
#
create table t1 (a integer);
insert into t1 values (1);
# both queries must return one row
select 1 as a from t1 union all select 1 from dual limit 1;
(select 1 as a from t1) union all (select 1 from dual) limit 1;
drop table t1;