Add pg_dump test for triggers on partitioned tables
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 27 Dec 2019 21:34:30 +0000 (18:34 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 27 Dec 2019 21:34:30 +0000 (18:34 -0300)
This currently works, but add this test to ensure it continues to work.
Lack of this test became evident after a recent bugfix submission that
would have inadvertently broken it, in
https://postgr.es/m/CA+HiwqFM2=i+uHB9o4OkLbE2S3sjPHoVe2wXuAD1GLJ4+Pk9eg@mail.gmail.com

src/bin/pg_dump/t/002_pg_dump.pl

index 11634204913d2b9f5b8726bb1bd70975c97f2d4c..4a9764c2d22ba9801923da6c9db0339f3b8f2021 100644 (file)
@@ -2377,6 +2377,32 @@ my %tests = (
        },
    },
 
+   'Creation of row-level trigger in partitioned table' => {
+       create_order => 92,
+       create_sql   => 'CREATE TRIGGER test_trigger
+          AFTER INSERT ON dump_test.measurement
+          FOR EACH ROW EXECUTE PROCEDURE dump_test.trigger_func()',
+       regexp => qr/^
+           \QCREATE TRIGGER test_trigger AFTER INSERT ON dump_test.measurement \E
+           \QFOR EACH ROW \E
+           \QEXECUTE FUNCTION dump_test.trigger_func();\E
+           /xm,
+       like => {
+           %full_runs, %dump_test_schema_runs, section_post_data => 1,
+       },
+       unlike => {
+           exclude_dump_test_schema => 1,
+       },
+   },
+
+   # this shouldn't ever get emitted
+   'Creation of row-level trigger in partition' => {
+       regexp => qr/^
+           \QCREATE TRIGGER test_trigger AFTER INSERT ON dump_test_second_schema.measurement\E
+           /xm,
+       like => {},
+   },
+
    'CREATE TABLE test_fourth_table_zero_col' => {
        create_order => 6,
        create_sql   => 'CREATE TABLE dump_test.test_fourth_table (