Skip to content

Commit 9331138

Browse files
adding condition for cyclic sync
[skip ci]
1 parent cd2e3d4 commit 9331138

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

pg-identity-func-trig-seq.sql

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,30 @@ DECLARE
2727
payload TEXT;
2828
column_name TEXT;
2929
column_value TEXT;
30+
pguserval TEXT;
3031
payload_items TEXT[];
3132
uniquecolumn TEXT;
3233
logtime TEXT;
3334
payloadseqid INTEGER;
3435
BEGIN
36+
37+
38+
--pguserval := (SELECT 1 FROM pg_roles WHERE rolname = 'pgsyncuser');
39+
pguserval := (SELECT current_user);
40+
if pguserval = 'pgsyncuser' then
41+
RAISE notice 'pgsyncuser name : %', pguserval;
42+
43+
CASE TG_OP
44+
WHEN 'INSERT', 'UPDATE' THEN
45+
rec := NEW;
46+
WHEN 'DELETE' THEN
47+
rec := OLD;
48+
ELSE
49+
RAISE EXCEPTION 'Unknown TG_OP: "%". Should not occur!', TG_OP;
50+
END CASE;
51+
return rec;
52+
end if;
53+
3554
CASE TG_OP
3655
WHEN 'INSERT', 'UPDATE' THEN
3756
rec := NEW;
@@ -99,13 +118,14 @@ BEGIN
99118
END LOOP;
100119
--logtime := (select date_display_tz());
101120
logtime := (SELECT to_char (now()::timestamptz at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS"Z"'));
121+
102122
payloadseqid := (select nextval('payloadsequence'::regclass));
103123

104124
uniquecolumn := (SELECT c.column_name
105125
FROM information_schema.key_column_usage AS c
106126
LEFT JOIN information_schema.table_constraints AS t
107127
ON t.constraint_name = c.constraint_name
108-
WHERE t.table_name = TG_TABLE_NAME AND t.constraint_type = 'PRIMARY KEY' LIMIT 1);
128+
WHERE t.table_name = TG_TABLE_NAME AND t.constraint_type = 'PRIMARY KEY' limit 1);
109129

110130
if (uniquecolumn = '') IS NOT FALSE then
111131
uniquecolumn := 'Not-Available';
@@ -131,9 +151,10 @@ BEGIN
131151
PERFORM pg_notify('test_db_notifications', payload);
132152

133153
RETURN rec;
134-
END;
135-
$body$ LANGUAGE plpgsql;
136154

155+
END;
156+
$body$ LANGUAGE plpgsql
157+
137158
CREATE TRIGGER "pg_email_trigger"
138159
AFTER INSERT OR DELETE OR UPDATE ON email
139160
FOR EACH ROW

0 commit comments

Comments
 (0)