Skip to content

Commit b211442

Browse files
committed
fixup! RHINENG-21214: handle inserts/updates to system_platform view
1 parent aa33bf3 commit b211442

3 files changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
DROP TRIGGER IF EXISTS system_platform_delete_trigger ON system_platform;
12
DROP TRIGGER IF EXISTS system_platform_update_trigger ON system_platform;
23
DROP TRIGGER IF EXISTS system_platform_insert_trigger ON system_platform;
34

5+
DROP FUNCTION IF EXISTS system_platform_delete();
46
DROP FUNCTION IF EXISTS system_platform_update();
57
DROP FUNCTION IF EXISTS system_platform_insert();

database_admin/migrations/143_system_platform_instead_of_triggers.up.sql

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,21 @@ END;
143143
$system_platform_update$
144144
LANGUAGE 'plpgsql';
145145

146+
CREATE OR REPLACE FUNCTION system_platform_delete()
147+
RETURNS TRIGGER AS
148+
$system_platform_delete$
149+
BEGIN
150+
DELETE FROM system_patch
151+
WHERE system_id = OLD.id AND rh_account_id = OLD.rh_account_id;
152+
153+
DELETE FROM system_inventory
154+
WHERE id = OLD.id AND rh_account_id = OLD.rh_account_id;
155+
156+
RETURN OLD;
157+
END;
158+
$system_platform_delete$
159+
LANGUAGE 'plpgsql';
160+
146161
CREATE TRIGGER system_platform_insert_trigger
147162
INSTEAD OF INSERT ON system_platform
148163
FOR EACH ROW
@@ -152,3 +167,8 @@ CREATE TRIGGER system_platform_update_trigger
152167
INSTEAD OF UPDATE ON system_platform
153168
FOR EACH ROW
154169
EXECUTE FUNCTION system_platform_update();
170+
171+
CREATE TRIGGER system_platform_delete_trigger
172+
INSTEAD OF DELETE ON system_platform
173+
FOR EACH ROW
174+
EXECUTE FUNCTION system_platform_delete();

database_admin/schema/create_schema.sql

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,6 +1246,21 @@ END;
12461246
$system_platform_update$
12471247
LANGUAGE 'plpgsql';
12481248

1249+
CREATE OR REPLACE FUNCTION system_platform_delete()
1250+
RETURNS TRIGGER AS
1251+
$system_platform_delete$
1252+
BEGIN
1253+
DELETE FROM system_patch
1254+
WHERE system_id = OLD.id AND rh_account_id = OLD.rh_account_id;
1255+
1256+
DELETE FROM system_inventory
1257+
WHERE id = OLD.id AND rh_account_id = OLD.rh_account_id;
1258+
1259+
RETURN OLD;
1260+
END;
1261+
$system_platform_delete$
1262+
LANGUAGE 'plpgsql';
1263+
12491264
CREATE TRIGGER system_platform_insert_trigger
12501265
INSTEAD OF INSERT ON system_platform
12511266
FOR EACH ROW
@@ -1256,6 +1271,11 @@ CREATE TRIGGER system_platform_update_trigger
12561271
FOR EACH ROW
12571272
EXECUTE FUNCTION system_platform_update();
12581273

1274+
CREATE TRIGGER system_platform_delete_trigger
1275+
INSTEAD OF DELETE ON system_platform
1276+
FOR EACH ROW
1277+
EXECUTE FUNCTION system_platform_delete();
1278+
12591279
GRANT SELECT, INSERT, UPDATE, DELETE ON system_platform TO listener;
12601280
-- evaluator needs to update last_evaluation
12611281
GRANT UPDATE ON system_platform TO evaluator;

0 commit comments

Comments
 (0)