Skip to content

Commit 9e160e8

Browse files
[skip ci]
[skip ci]
1 parent 3995bc4 commit 9e160e8

File tree

1 file changed

+121
-10
lines changed

1 file changed

+121
-10
lines changed

informix-identity-trigger-proc.sql

Lines changed: 121 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
database common_oltp
2+
23
DROP PROCEDURE proc_user_update(varchar,decimal);
3-
DROP PROCEDURE proc_user_update;
44
CREATE PROCEDURE informix.proc_user_update(
55
new_handle varchar(50),
66
user_id decimal(10,0))
77
if (USER != 'ifxsyncuser') then
88
UPDATE user SET handle_lower = lower(new_handle), modify_date = current WHERE user.user_id = user_id;
99
End if;
10-
end procedure;
10+
end procedure;
11+
12+
DROP PROCEDURE proc_user_update;
1113
create procedure "informix".proc_user_update(
1214
user_id DECIMAL(10,0),
1315
old_first_name VARCHAR(64),
@@ -25,7 +27,7 @@ new_middle_name VARCHAR(64),
2527
old_timezone_id decimal(5,0),
2628
new_timezone_id decimal(5,0)
2729
)
28-
30+
if (USER != 'ifxsyncuser') then
2931
if ((old_first_name != new_first_name) or (old_last_name != new_last_name ) or (old_middle_name != new_middle_name )) then
3032
insert into audit_user (column_name, old_value, new_value,
3133
user_id)
@@ -57,7 +59,7 @@ user_id)
5759
user_id)
5860
values ('TIMEZONE_ID', old_timezone_id, new_timezone_id, user_id);
5961
End If;
60-
if (USER != 'ifxsyncuser') then
62+
6163
UPDATE user SET handle_lower = lower(new_handle), modify_date = current WHERE user.user_id = user_id;
6264
End if;
6365
end procedure;
@@ -75,7 +77,7 @@ new_primary_ind DECIMAL(1,0),
7577
old_status_id DECIMAL(3,0),
7678
new_status_id DECIMAL(3,0)
7779
)
78-
80+
if (USER != 'ifxsyncuser') then
7981
if (old_email_type_id != new_email_type_id) then
8082
insert into audit_user (column_name, old_value, new_value, user_id)
8183
values ('EMAIL_TYPE', old_email_type_id, new_email_type_id, user_id);
@@ -95,12 +97,122 @@ new_status_id DECIMAL(3,0)
9597
insert into audit_user (column_name, old_value, new_value, user_id)
9698
values ('EMAIL_PRIMARY_IND', old_primary_ind, new_primary_ind, user_id);
9799
End If;
98-
if (USER != 'ifxsyncuser') then
100+
99101
update email set modify_date = current where email.email_id = email_id;
100102
End if;
101103
end procedure;
102104

105+
DROP PROCEDURE informix.proc_user_last_login;
106+
CREATE PROCEDURE informix.proc_user_last_login (user_id DECIMAL(10,0), o_last_login DATETIME YEAR TO FRACTION,
107+
n_last_login DATETIME YEAR TO FRACTION)
108+
109+
if (o_last_login != n_last_login) then
110+
if (USER != 'ifxsyncuser') then
111+
insert into corona_event (corona_event_type_id,user_id, corona_event_timestamp) values (1, user_id, n_last_login);
112+
end if;
113+
End if;
114+
end procedure;
115+
116+
DROP PROCEDURE informix.proc_phone_update;
117+
CREATE PROCEDURE informix.proc_phone_update(
118+
phone_id decimal(10,0),
119+
user_id DECIMAL(10,0),
120+
old_phone_type_id DECIMAL(5,0),
121+
new_phone_type_id DECIMAL(5,0),
122+
old_number VARCHAR(64),
123+
new_number VARCHAR(64),
124+
old_primary_ind DECIMAL(1,0),
125+
new_primary_ind DECIMAL(1,0)
126+
)
127+
if (USER != 'ifxsyncuser') then
128+
if (old_phone_type_id != new_phone_type_id) then
129+
insert into audit_user (column_name, old_value, new_value, user_id)
130+
values ('PHONE_TYPE', old_phone_type_id, new_phone_type_id, user_id);
131+
End If;
132+
133+
if (old_number != new_number) then
134+
insert into audit_user (column_name, old_value, new_value, user_id)
135+
values ('PHONE_NUMBER', old_number, new_number, user_id);
136+
End If;
137+
138+
if (old_primary_ind != new_primary_ind) then
139+
insert into audit_user (column_name, old_value, new_value, user_id)
140+
values ('PHONE_PRIMARY_IND', old_primary_ind, new_primary_ind, user_id);
141+
End If;
142+
update phone set modify_date = current where phone.phone_id = phone_id;
143+
End if;
144+
end procedure;
145+
146+
DROP PROCEDURE informix.proc_address_update;
147+
CREATE PROCEDURE informix.proc_address_update(
148+
address_id DECIMAL(10,0),
149+
old_address_type_id DECIMAL(5,0),
150+
new_address_type_id DECIMAL(5,0),
151+
old_address1 VARCHAR(254),
152+
new_address1 VARCHAR(254),
153+
old_address2 VARCHAR(254),
154+
new_address2 VARCHAR(254),
155+
old_address3 VARCHAR(254),
156+
new_address3 VARCHAR(254),
157+
old_city VARCHAR(64),
158+
new_city VARCHAR(64),
159+
old_state_code CHAR(2),
160+
new_state_code CHAR(2),
161+
old_province VARCHAR(64),
162+
new_province VARCHAR(64),
163+
old_zip VARCHAR(15),
164+
new_zip VARCHAR(15),
165+
old_country_code CHAR(3),
166+
new_country_code CHAR(3)
167+
)
168+
define user_id DECIMAL(10,0);
169+
let user_id = NVL((select min(x.user_id) from user_address_xref x where x.address_id = address_id), -1);
170+
if (USER != 'ifxsyncuser') then
171+
if (user_id > 0 and old_address1 != new_address1) then
172+
insert into audit_user (column_name, old_value, new_value,
173+
user_id)
174+
values ('ADDRESS1', old_address1, new_address1, user_id);
175+
End If;
176+
if (user_id > 0 and old_address2 != new_address2) then
177+
insert into audit_user (column_name, old_value, new_value,
178+
user_id)
179+
values ('ADDRESS2', old_address2, new_address2, user_id);
180+
End If;
181+
if (user_id > 0 and old_address3 != new_address3) then
182+
insert into audit_user (column_name, old_value, new_value,
183+
user_id)
184+
values ('ADDRESS3', old_address3, new_address3, user_id);
185+
End If;
186+
if (user_id > 0 and old_city != new_city) then
187+
insert into audit_user (column_name, old_value, new_value,
188+
user_id)
189+
values ('ADDRESS_CITY', old_city, new_city, user_id);
190+
End If;
191+
if (user_id > 0 and old_state_code != new_state_code) then
192+
insert into audit_user (column_name, old_value, new_value,
193+
user_id)
194+
values ('ADDRESS_STATE', old_state_code, new_state_code, user_id);
195+
End If;
196+
if (user_id > 0 and old_province != new_province) then
197+
insert into audit_user (column_name, old_value, new_value,
198+
user_id)
199+
values ('ADDRESS_PROVINCE', old_province, new_province, user_id);
200+
End If;
201+
if (user_id > 0 and old_zip != new_zip) then
202+
insert into audit_user (column_name, old_value, new_value,
203+
user_id)
204+
values ('ADDRESS_ZIP', old_zip, new_zip, user_id);
205+
End If;
206+
if (user_id > 0 and old_country_code != new_country_code) then
207+
insert into audit_user (column_name, old_value, new_value,
208+
user_id)
209+
values ('ADDRESS_COUNTRY', old_country_code, new_country_code, user_id);
210+
End If;
103211

212+
update address set modify_date = current where address.address_id = address_id;
213+
End if;
214+
end procedure;
215+
104216
database informixoltp
105217
DROP PROCEDURE informix.proc_coder_update;
106218
CREATE PROCEDURE informix.proc_coder_update(
@@ -110,7 +222,8 @@ v_oldlanguage_id decimal(3,0), v_newlanguage_id decimal(3,0),
110222
v_oldcoder_type_id decimal(3,0), v_newcoder_type_id decimal(3,0),
111223
v_oldcomp_country_code varchar(3), v_newcomp_country_code varchar(3)
112224
)
113-
225+
if (USER != 'ifxsyncuser') then
226+
114227
if (v_oldquote != v_newquote) then
115228
insert into audit_coder (column_name, old_value, new_value, user_id)
116229
values ('QUOTE', v_oldquote , v_newquote, v_oldcoder_id);
@@ -131,10 +244,8 @@ v_oldcomp_country_code varchar(3), v_newcomp_country_code varchar(3)
131244
values ('COMP_COUNTRY', v_oldcomp_country_code , v_newcomp_country_code, v_oldcoder_id);
132245
End if;
133246

134-
if (USER != 'ifxsyncuser') then
135247
update coder set modify_date = current where coder_id = v_oldcoder_id;
136248
End if;
137-
138249
end procedure;
139250

140251
database tcs_catalog;
@@ -155,7 +266,7 @@ new_rating decimal(5,4)
155266
update user_reliability set modify_date = current where user_id = p_user_id and phase_id = p_phase_id;
156267
End if;
157268
end procedure;
158-
269+
159270
DROP PROCEDURE proc_rating_update;
160271
CREATE PROCEDURE informix.proc_rating_update(
161272
p_user_id DECIMAL(10,0),

0 commit comments

Comments
 (0)