here are the copy2.sql and copy2.out files for the new regression
authorBruce Momjian
Thu, 18 Jul 2002 04:45:51 +0000 (04:45 +0000)
committerBruce Momjian
Thu, 18 Jul 2002 04:45:51 +0000 (04:45 +0000)
tests

Brent Verner

src/test/regress/expected/copy2.out [new file with mode: 0644]
src/test/regress/sql/copy2.sql [new file with mode: 0644]

diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out
new file mode 100644 (file)
index 0000000..51444c0
--- /dev/null
@@ -0,0 +1,45 @@
+CREATE TABLE x (
+   a serial,
+   b int,
+   c text not null default 'stuff',
+   d text not null,
+   e text
+);
+NOTICE:  CREATE TABLE will create implicit sequence 'x_a_seq' for SERIAL column 'x.a'
+NOTICE:  CREATE TABLE / UNIQUE will create implicit index 'x_a_key' for table 'x'
+CREATE FUNCTION fn_x_before () RETURNS OPAQUE AS '
+  BEGIN
+       NEW.e := ''before trigger fired''::text;
+       return NEW;
+   END;
+' language 'plpgsql';
+CREATE FUNCTION fn_x_after () RETURNS OPAQUE AS '
+  BEGIN
+       UPDATE x set e=''after trigger fired'' where c=''stuff'';
+       return NULL;
+   END;
+' language 'plpgsql';
+CREATE TRIGGER trg_x_after AFTER INSERT ON x
+FOR EACH ROW EXECUTE PROCEDURE fn_x_after();
+CREATE TRIGGER trg_x_before BEFORE INSERT ON x
+FOR EACH ROW EXECUTE PROCEDURE fn_x_before();
+COPY x (a,b,c,d,e) from stdin;
+COPY x (b,d) from stdin;
+COPY x (b,d) from stdin;
+COPY x (a,b,c,d,e) from stdin;
+COPY x TO stdout;
+10000  21  31  41  before trigger fired
+10001  22  32  42  before trigger fired
+10002  23  33  43  before trigger fired
+10003  24  34  44  before trigger fired
+10004  25  35  45  before trigger fired
+10005  26  36  46  before trigger fired
+1  1   stuff   test_1  after trigger fired
+2  2   stuff   test_2  after trigger fired
+3  3   stuff   test_3  after trigger fired
+4  4   stuff   test_4  after trigger fired
+5  5   stuff   test_5  after trigger fired
+DROP TABLE x;
+DROP SEQUENCE x_a_seq;
+DROP FUNCTION fn_x_before();
+DROP FUNCTION fn_x_after();
diff --git a/src/test/regress/sql/copy2.sql b/src/test/regress/sql/copy2.sql
new file mode 100644 (file)
index 0000000..1687de2
--- /dev/null
@@ -0,0 +1,56 @@
+CREATE TABLE x (
+   a serial,
+   b int,
+   c text not null default 'stuff',
+   d text not null,
+   e text
+);
+
+CREATE FUNCTION fn_x_before () RETURNS OPAQUE AS '
+  BEGIN
+       NEW.e := ''before trigger fired''::text;
+       return NEW;
+   END;
+' language 'plpgsql';
+
+CREATE FUNCTION fn_x_after () RETURNS OPAQUE AS '
+  BEGIN
+       UPDATE x set e=''after trigger fired'' where c=''stuff'';
+       return NULL;
+   END;
+' language 'plpgsql';
+
+CREATE TRIGGER trg_x_after AFTER INSERT ON x
+FOR EACH ROW EXECUTE PROCEDURE fn_x_after();
+
+CREATE TRIGGER trg_x_before BEFORE INSERT ON x
+FOR EACH ROW EXECUTE PROCEDURE fn_x_before();
+
+COPY x (a,b,c,d,e) from stdin;
+10000  21  31  41  51
+\.
+
+COPY x (b,d) from stdin;
+1  test_1
+\.
+
+COPY x (b,d) from stdin;
+2  test_2
+3  test_3
+4  test_4
+5  test_5
+\.
+
+COPY x (a,b,c,d,e) from stdin;
+10001  22  32  42  52
+10002  23  33  43  53
+10003  24  34  44  54
+10004  25  35  45  55
+10005  26  36  46  56
+\.
+
+COPY x TO stdout;
+DROP TABLE x;
+DROP SEQUENCE x_a_seq;
+DROP FUNCTION fn_x_before();
+DROP FUNCTION fn_x_after();