Changeset: 800400a3fa4b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=800400a3fa4b Modified Files: sql/test/subquery/Tests/subquery4.sql sql/test/subquery/Tests/subquery4.stable.err Branch: linear-hashing Log Message:
Queries giving wrong results and updated expected test output diffs (67 lines): diff --git a/sql/test/subquery/Tests/subquery4.sql b/sql/test/subquery/Tests/subquery4.sql --- a/sql/test/subquery/Tests/subquery4.sql +++ b/sql/test/subquery/Tests/subquery4.sql @@ -76,13 +76,24 @@ FROM integers i1; -- 3 -- NULL -SELECT i FROM integers WHERE (SELECT 1 UNION ALL SELECT 2); +SELECT i FROM integers WHERE (SELECT 1 UNION ALL SELECT 2); --error, more than one row returned by a subquery used as an expression + +SELECT i FROM integers WHERE (SELECT true UNION ALL SELECT false); --error, more than one row returned by a subquery used as an expression -SELECT i FROM integers WHERE (SELECT true UNION ALL SELECT false); +SELECT i FROM integers WHERE (SELECT true, false); --error, subquery must return only one column + +SELECT i FROM integers WHERE (SELECT true, false UNION ALL SELECT false, true); --error, subquery must return only one column -SELECT i FROM integers WHERE (SELECT true, false); +SELECT i FROM integers WHERE (SELECT COUNT(1) OVER ()) = 1; + -- 1 + -- 2 + -- 3 + -- NULL -SELECT i FROM integers WHERE (SELECT true, false UNION ALL SELECT false, true); +SELECT i FROM integers WHERE (SELECT COUNT(i) OVER ()) = 1; + -- 1 + -- 2 + -- 3 UPDATE another_T SET col1 = MIN(col1); --error, aggregates not allowed in update set clause UPDATE another_T SET col2 = 1 WHERE col1 = SUM(col2); --error, aggregates not allowed in update set clause @@ -122,9 +133,9 @@ CREATE PROCEDURE crashme(a int) BEGIN DE CALL crashme(COUNT(1)); --error, not allowed CALL crashme(COUNT(1) OVER ()); --error, not allowed -CALL crashme((SELECT COUNT(1))); -CALL crashme((SELECT COUNT(1) OVER ())); --should be allowed, it returns exactly one row -CALL crashme((SELECT 1 UNION ALL SELECT 2)); --error, returns more than one row +CALL crashme((SELECT COUNT(1))); --error, subquery at CALL +CALL crashme((SELECT COUNT(1) OVER ())); --error, subquery at CALL +CALL crashme((SELECT 1 UNION ALL SELECT 2)); --error, subquery at CALL create sequence "debugme" as integer start with 1; alter sequence "debugme" restart with (select MAX(1)); diff --git a/sql/test/subquery/Tests/subquery4.stable.err b/sql/test/subquery/Tests/subquery4.stable.err --- a/sql/test/subquery/Tests/subquery4.stable.err +++ b/sql/test/subquery/Tests/subquery4.stable.err @@ -139,15 +139,15 @@ QUERY = CALL crashme(COUNT(1) OVER ()); ERROR = !COUNT: window function 'count' not allowed in CALL CODE = 42000 MAPI = (monetdb) /var/tmp/mtest-92133/.s.monetdb.34612 -QUERY = CALL crashme((SELECT COUNT(1))); +QUERY = CALL crashme((SELECT COUNT(1))); --error, subquery at CALL ERROR = !CALL: subqueries not allowed inside CALL statements CODE = 42000 MAPI = (monetdb) /var/tmp/mtest-92133/.s.monetdb.34612 -QUERY = CALL crashme((SELECT COUNT(1) OVER ())); --should be allowed, it returns exactly one row +QUERY = CALL crashme((SELECT COUNT(1) OVER ())); --error, subquery at CALL ERROR = !CALL: subqueries not allowed inside CALL statements CODE = 42000 MAPI = (monetdb) /var/tmp/mtest-92133/.s.monetdb.34612 -QUERY = CALL crashme((SELECT 1 UNION ALL SELECT 2)); --error, returns more than one row +QUERY = CALL crashme((SELECT 1 UNION ALL SELECT 2)); --error, subquery at CALL ERROR = !CALL: subqueries not allowed inside CALL statements CODE = 42000 _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list