From: Pallavi Sontakke Date: Tue, 26 Jul 2016 07:02:20 +0000 (+0530) Subject: Add test case for Issue #9 X-Git-Tag: XL9_5_R1_2~6 X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=9cf1fb61958bd5d63bf7c4cabf210c650a0a27f7;p=postgres-xl.git Add test case for Issue #9 Fails to see DDL's effect inside a function --- diff --git a/src/test/regress/expected/xl_reported_bugs.out b/src/test/regress/expected/xl_reported_bugs.out index 38c4700787..77a1b3f08a 100644 --- a/src/test/regress/expected/xl_reported_bugs.out +++ b/src/test/regress/expected/xl_reported_bugs.out @@ -1,3 +1,42 @@ +-- #9 +-- Fails to see DDL's effect inside a function +create function xl_getint() returns integer as $$ +declare + i integer; +BEGIN + create table inttest(a int, b int); + insert into inttest values (1,1); + select a into i from inttest limit 1; + RETURN i; +END;$$ language plpgsql; +select xl_getint(); + xl_getint +----------- + 1 +(1 row) + +select * from inttest; + a | b +---+--- + 1 | 1 +(1 row) + +create function xl_cleanup() returns integer as $$ +declare + i integer; +BEGIN + drop function xl_getint(); + drop table inttest; + select a into i from inttest limit 1; + RETURN i; +END;$$ language plpgsql; +select xl_cleanup(); +ERROR: relation "inttest" does not exist +LINE 1: select a from inttest limit 1 + ^ +QUERY: select a from inttest limit 1 +CONTEXT: PL/pgSQL function xl_cleanup() line 7 at SQL statement +drop function xl_cleanup(); -- #4 -- Tableoid to relation name mapping broken create table cities ( diff --git a/src/test/regress/sql/xl_reported_bugs.sql b/src/test/regress/sql/xl_reported_bugs.sql index cc44e3a2c1..1e7181019d 100644 --- a/src/test/regress/sql/xl_reported_bugs.sql +++ b/src/test/regress/sql/xl_reported_bugs.sql @@ -1,3 +1,32 @@ +-- #9 +-- Fails to see DDL's effect inside a function +create function xl_getint() returns integer as $$ +declare + i integer; +BEGIN + create table inttest(a int, b int); + insert into inttest values (1,1); + select a into i from inttest limit 1; + RETURN i; +END;$$ language plpgsql; + +select xl_getint(); +select * from inttest; + +create function xl_cleanup() returns integer as $$ +declare + i integer; +BEGIN + drop function xl_getint(); + drop table inttest; + select a into i from inttest limit 1; + RETURN i; +END;$$ language plpgsql; + +select xl_cleanup(); + +drop function xl_cleanup(); + -- #4 -- Tableoid to relation name mapping broken create table cities (