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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list