diff options
-rw-r--r-- | sql/londiste/expected/londiste_provider.out | 9 | ||||
-rw-r--r-- | sql/londiste/functions/londiste.create_trigger.sql | 2 | ||||
-rw-r--r-- | sql/londiste/sql/londiste_provider.sql | 3 |
3 files changed, 13 insertions, 1 deletions
diff --git a/sql/londiste/expected/londiste_provider.out b/sql/londiste/expected/londiste_provider.out index 7ee31983..126f2b91 100644 --- a/sql/londiste/expected/londiste_provider.out +++ b/sql/londiste/expected/londiste_provider.out @@ -185,3 +185,12 @@ select ev_id, ev_type, ev_data, ev_extra1, ev_extra4 from pgq.event_template whe 11 | R | | public.hdlr_test | (4 rows) +-- test proper trigger creation with add-table specific args +select * from londiste.local_add_table('aset', 'public.trg_test', array['ev_extra4=''test='' || txt', 'expect_sync', 'skip']); + ret_code | ret_note +----------+------------------------------ + 200 | Table added: public.trg_test +(1 row) + +insert into trg_test values (2, 'data2'); +ERROR: SKIP does not work in AFTER trigger. diff --git a/sql/londiste/functions/londiste.create_trigger.sql b/sql/londiste/functions/londiste.create_trigger.sql index affa69c7..9dbf4cab 100644 --- a/sql/londiste/functions/londiste.create_trigger.sql +++ b/sql/londiste/functions/londiste.create_trigger.sql @@ -86,7 +86,7 @@ begin _skip := true; elsif arg = 'virtual_table' then _no_triggers := true; -- do not create triggers - else + elsif arg not in ('expect_sync', 'skip_truncate', 'merge_all', 'no_merge') then -- ignore add-table args if arg like 'ev_extra1=%' then _got_extra1 := true; end if; diff --git a/sql/londiste/sql/londiste_provider.sql b/sql/londiste/sql/londiste_provider.sql index cfd300ee..1f501556 100644 --- a/sql/londiste/sql/londiste_provider.sql +++ b/sql/londiste/sql/londiste_provider.sql @@ -69,3 +69,6 @@ truncate hdlr_test; select ev_id, ev_type, ev_data, ev_extra1, ev_extra4 from pgq.event_template where ev_extra1 = 'public.hdlr_test'; +-- test proper trigger creation with add-table specific args +select * from londiste.local_add_table('aset', 'public.trg_test', array['ev_extra4=''test='' || txt', 'expect_sync', 'skip']); +insert into trg_test values (2, 'data2'); |