Script to add triggers based on metadata.
authorKevin Grittner <Kevin.Grittner@wicourts.gov>
Thu, 2 Jun 2011 18:19:15 +0000 (13:19 -0500)
committerKevin Grittner <Kevin.Grittner@wicourts.gov>
Thu, 2 Jun 2011 18:19:15 +0000 (13:19 -0500)
contrib/dbtran/bind-triggers.sql [new file with mode: 0644]

diff --git a/contrib/dbtran/bind-triggers.sql b/contrib/dbtran/bind-triggers.sql
new file mode 100644 (file)
index 0000000..d7d660a
--- /dev/null
@@ -0,0 +1,29 @@
+DO $$DECLARE r text;
+BEGIN
+  FOR r IN
+    SELECT
+'CREATE TRIGGER "' || r.name || '_640_dbtran_trig"
+  AFTER INSERT OR UPDATE OR DELETE ON "' || r.name || '"
+  FOR EACH ROW EXECUTE PROCEDURE dbtran.capture_replication_data();' as stmt
+      FROM "Relation" r
+      JOIN pg_class c on (c.relname = r.name)
+      WHERE r."isExportEnabled"
+        AND c.relkind = 'r'
+  LOOP
+    EXECUTE r;
+  END LOOP;
+END$$;
+
+
+DO $$DECLARE r text;
+BEGIN
+  FOR r IN
+    SELECT 'DROP TRIGGER "' || r.name || '_640_dbtran_trig" ON "' || r.name || '";'
+      FROM "Relation" r
+      JOIN pg_class c on (c.relname = r.name)
+      WHERE r."isExportEnabled"
+        AND c.relkind = 'r'
+  LOOP
+    EXECUTE r;
+  END LOOP;
+END$$;