Changeset: 9dba416c3e55 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9dba416c3e55 Modified Files: sql/test/scoping/Tests/ambiguity.test sql/test/scoping/Tests/predefinedvariable.test sql/test/scoping/Tests/scoping01.test sql/test/scoping/Tests/scoping02.test Branch: mtest Log Message:
Reconverted scoping tests diffs (truncated from 650 to 300 lines): diff --git a/sql/test/scoping/Tests/ambiguity.test b/sql/test/scoping/Tests/ambiguity.test --- a/sql/test/scoping/Tests/ambiguity.test +++ b/sql/test/scoping/Tests/ambiguity.test @@ -18,7 +18,7 @@ SET Avar='Avar' statement error CREATE OR REPLACE FUNCTION foo(i string) RETURNS INT -BEGIN DECLARE i string; set i ='1'; return i; END +BEGIN DECLARE i string; set i ='1'; return i; END; --error, i re-declared statement ok CREATE OR REPLACE FUNCTION foo(gvar string) RETURNS INT @@ -44,7 +44,7 @@ function i statement error CREATE OR REPLACE FUNCTION foo() RETURNS string -BEGIN DECLARE i string; set i =gvar; return i; END +BEGIN DECLARE i string; set i =gvar; return i; END; --error, gvar was declared on sys schema, so it doesn't exist here query I rowsort SELECT foo() @@ -53,7 +53,7 @@ 1 statement error CREATE OR REPLACE FUNCTION Gvar() RETURNS string -BEGIN DECLARE i string; set i =gvar; return i; END +BEGIN DECLARE i string; set i =gvar; return i; END; --error, gvar was declared on sys schema, so it doesn't exist here query T rowsort SELECT Gvar() @@ -80,7 +80,7 @@ function i statement error CREATE OR REPLACE FUNCTION foo() RETURNS string -BEGIN DECLARE i string; set i = A.gvar; return i; END +BEGIN DECLARE i string; set i = A.gvar; return i; END; --error, variable a.gvar doesn't exist query I rowsort SELECT foo() @@ -89,7 +89,7 @@ 1 statement error CREATE OR REPLACE FUNCTION Gvar() RETURNS string -BEGIN DECLARE i string; set i =A.gvar; return i; END +BEGIN DECLARE i string; set i =A.gvar; return i; END; --error, variable a.gvar doesn't exist query T rowsort SELECT Gvar() @@ -133,7 +133,7 @@ CALL avar() statement error CREATE OR REPLACE PROCEDURE avar() -BEGIN SET SCHEMA A; set sys.avar = 'avar_assigned'; END +BEGIN SET SCHEMA A; set sys.avar = 'avar_assigned'; END; --error, variable sys.avar doesn't exist statement error CALL avar() @@ -144,3 +144,4 @@ SET SCHEMA "sys" statement ok DROP SCHEMA A CASCADE + diff --git a/sql/test/scoping/Tests/predefinedvariable.test b/sql/test/scoping/Tests/predefinedvariable.test --- a/sql/test/scoping/Tests/predefinedvariable.test +++ b/sql/test/scoping/Tests/predefinedvariable.test @@ -50,53 +50,40 @@ select i, sys.optimizer from mynewone 1 minimal_pipe -statement error +statement ok create function foo() returns integer begin - return optimizer - -statement error + return optimizer; end -statement error +statement ok create function foo2() returns integer begin - return sys.optimizer - -statement error + return sys.optimizer; end -statement error +statement ok create procedure poo() begin - set optimizer='volcano_pipe' - -statement error + set optimizer='volcano_pipe'; end -statement error +statement ok create procedure poo2() begin - set sys.optimizer='volcano_pipe' - -statement error + set sys.optimizer='volcano_pipe'; end statement error create procedure poo4() begin - set optimizer='deep-pipe' - -query T rowsort - select optimizer ----- -minimal_pipe - -statement error + set optimizer='deep-pipe'; + select optimizer; --error, regular select statements not allowed inside procedures (disallowed by the parser) end statement ok set optimizer = 'default_pipe' + diff --git a/sql/test/scoping/Tests/scoping01.test b/sql/test/scoping/Tests/scoping01.test --- a/sql/test/scoping/Tests/scoping01.test +++ b/sql/test/scoping/Tests/scoping01.test @@ -44,33 +44,27 @@ 2 statement error CREATE OR REPLACE FUNCTION tests_scopes1(i INT) RETURNS INT BEGIN - DECLARE i int - -statement error - RETURN i - -statement error + DECLARE i int; --error, variable redeclaration; + RETURN i; END statement error SELECT tests_scopes1(vals) FROM (VALUES (1),(2),(3)) AS vals(vals) -statement error +statement ok CREATE OR REPLACE FUNCTION tests_scopes2("optimizer" INT) RETURNS INT BEGIN - DECLARE j int - -statement error - SET j = "optimizer" - -statement error - RETURN j - -statement error + DECLARE j int; + SET j = "optimizer"; + RETURN j; END -statement error +query I rowsort SELECT tests_scopes2(vals) FROM (VALUES (1),(2),(3)) AS vals(vals) +---- +1 +2 +3 statement error with a("optimizer") as (select 4) select "optimizer" from tmp1, a @@ -84,7 +78,7 @@ DROP TABLE tmp2 statement error DROP FUNCTION tests_scopes1(INT) -statement error +statement ok DROP FUNCTION tests_scopes2(INT) statement error @@ -101,31 +95,26 @@ with a(a) as (with a(a) as (select 1) se ---- 2 -statement error +statement ok CREATE OR REPLACE FUNCTION tests_scopes3(input INT) RETURNS STRING BEGIN IF input = 1 THEN - DECLARE "optimizer" string - -statement error - SET "optimizer" = 'anything' - -statement error - END IF - -statement error - RETURN SELECT "optimizer" - -statement error + DECLARE "optimizer" string; --allowed + SET "optimizer" = 'anything'; + END IF; + RETURN SELECT "optimizer"; END -statement error +query TT rowsort SELECT tests_scopes3(0), tests_scopes3(1) +---- +default_pipe +default_pipe statement ok SET "optimizer" = 'default_pipe' -statement error +statement ok DROP FUNCTION tests_scopes3(INT) statement error @@ -160,101 +149,68 @@ DROP FUNCTION tests_scopes4 statement ok DROP TABLE tmp2 -statement error +statement ok CREATE OR REPLACE FUNCTION scoping(input INT) RETURNS INT BEGIN - DECLARE x int - -statement error - SET x = 1 - -statement error + DECLARE x int; + SET x = 1; IF input = 2 THEN - DECLARE x int - -statement error - SET x = 2 - -statement error + DECLARE x int; + SET x = 2; ELSE IF input = 3 THEN - SET x = 3 - -statement error - END IF - -statement error - END IF - -statement error - RETURN x - -statement error + SET x = 3; + END IF; + END IF; + RETURN x; END -statement error +query I rowsort SELECT scoping(vals) FROM (VALUES (1),(2),(3)) AS vals(vals) +---- +1 +1 +3 -statement error +statement ok DROP FUNCTION scoping(INT) -statement error +statement ok CREATE OR REPLACE FUNCTION scoping2(input INT) RETURNS INT BEGIN - DECLARE TABLE z (a int) - -statement error - INSERT INTO z VALUES (1) - -statement error + DECLARE TABLE z (a int); + INSERT INTO z VALUES (1); IF input = 2 THEN - DECLARE TABLE z (a int) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list