1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
--
-- repack.repack_trigger tests
--
CREATE TABLE trigger_t1 (a int, b int, primary key (a, b));
CREATE INDEX trigger_t1_idx ON trigger_t1 (a, b);
SELECT create_trigger FROM repack.tables WHERE relname = 'public.trigger_t1';
create_trigger
----------------------------------------------------------------------------------------------------------------------------------------------------
CREATE TRIGGER repack_trigger AFTER INSERT OR DELETE OR UPDATE ON public.trigger_t1 FOR EACH ROW EXECUTE PROCEDURE repack.repack_trigger('a', 'b')
(1 row)
SELECT oid AS t1_oid FROM pg_catalog.pg_class WHERE relname = 'trigger_t1'
\gset
CREATE TYPE repack.pk_:t1_oid AS (a integer, b integer);
CREATE TABLE repack.log_:t1_oid (id bigserial PRIMARY KEY, pk repack.pk_:t1_oid, row public.trigger_t1);
CREATE TRIGGER repack_trigger AFTER INSERT OR DELETE OR UPDATE ON trigger_t1
FOR EACH ROW EXECUTE PROCEDURE repack.repack_trigger('a', 'b');
INSERT INTO trigger_t1 VALUES (111, 222);
UPDATE trigger_t1 SET a=333, b=444 WHERE a = 111;
DELETE FROM trigger_t1 WHERE a = 333;
SELECT * FROM repack.log_:t1_oid;
id | pk | row
----+-----------+-----------
1 | | (111,222)
2 | (111,222) | (333,444)
3 | (333,444) |
(3 rows)
|