File: londiste_provider.sql

package info (click to toggle)
londiste-sql 3.8-6
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 560 kB
  • sloc: sql: 2,742; python: 309; makefile: 18; sh: 1
file content (74 lines) | stat: -rw-r--r-- 2,839 bytes parent folder | download | duplicates (5)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

set client_min_messages = 'warning';
\set VERBOSITY 'terse'

--
-- tables
--
create table testdata (
    id serial primary key,
    txt text
);
create table testdata_nopk (
    id serial,
    txt text
);

select current_database();

select * from pgq_node.register_location('aset', 'rnode', 'dbname=db', false);
select * from pgq_node.create_node('aset', 'root', 'rnode', 'londiste_root', null::text, null::int8, null::text);

select * from londiste.local_add_table('aset', 'public.testdata_nopk');
select * from londiste.local_add_table('aset', 'public.testdata');
select tgname from pg_trigger where tgrelid = 'public.testdata'::regclass order by 1;
insert into testdata (txt) values ('test-data');
select * from londiste.get_table_list('aset');
select * from londiste.local_show_missing('aset');
select * from londiste.local_remove_table('aset', 'public.testdata');
select * from londiste.local_remove_table('aset', 'public.testdata');
select tgname from pg_trigger where tgrelid = 'public.testdata'::regclass;
select * from londiste.get_table_list('aset');

select ev_id, ev_type, ev_data, ev_extra1 from pgq.event_template;

select * from londiste.local_show_missing('aset');

-- trigtest
create table trg_test (
    id int4 primary key,
    txt text
);

select * from londiste.local_add_table('aset', 'public.trg_test', array['ev_extra4=''test='' || txt']);
select * from londiste.local_add_table('aset', 'public.trg_test');
select * from londiste.local_add_table('aset', 'public.trg_test', array['ev_extra4=''test='' || txt'], 'handler=foobar');
insert into trg_test values (1, 'data');
truncate trg_test;
select ev_id, ev_type, ev_data, ev_extra1, ev_extra4 from pgq.event_template where ev_extra1 = 'public.trg_test';

select tgname from pg_trigger where tgrelid = 'public.trg_test'::regclass order by 1;
delete from londiste.table_info where table_name = 'public.trg_test';
select tgname from pg_trigger where tgrelid = 'public.trg_test'::regclass order by 1;

-- handler test
create table hdlr_test (
    id int4 primary key,
    txt text
);

select * from londiste.local_add_table('aset', 'public.hdlr_test');
insert into hdlr_test values (1, 'data');

select * from londiste.local_change_handler('aset', 'public.hdlr_test', array['ev_extra4=''test='' || txt'], 'handler=foobar');
insert into hdlr_test values (2, 'data2');

select * from londiste.local_change_handler('aset', 'public.hdlr_test', '{}'::text[], '');
insert into hdlr_test values (3, 'data3');
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');