Add test case for Issue #9
authorPallavi Sontakke <[email protected]>
Tue, 26 Jul 2016 07:02:20 +0000 (12:32 +0530)
committerPallavi Sontakke <[email protected]>
Tue, 26 Jul 2016 07:02:20 +0000 (12:32 +0530)
Fails to see DDL's effect inside a function

src/test/regress/expected/xl_reported_bugs.out
src/test/regress/sql/xl_reported_bugs.sql

index 38c470078774e30b48e024f85873225e233998da..77a1b3f08a5c064dc7e482aa80ca3fe1c4697e76 100644 (file)
@@ -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 (
index cc44e3a2c1d705d6bd80ac4ba614361e98858388..1e7181019d6e4426df2ce5f770705e5672d810f6 100644 (file)
@@ -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 (