File: //var/packages/Spreadsheet/scripts/create_template_func.sql
BEGIN;
CREATE OR REPLACE FUNCTION afterTemplateDeleted()
RETURNS "trigger" AS $$
BEGIN
DELETE FROM template_perm_user WHERE object_id=OLD.object_id;
DELETE FROM template_perm_group WHERE object_id=OLD.object_id;
DELETE FROM template_perm_app WHERE object_id=OLD.object_id;
DELETE FROM template_link WHERE object_id=OLD.object_id;
DELETE FROM template_recent WHERE object_id=OLD.object_id AND LEFT(object_id,2) != '1_';
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
DROP TRIGGER IF EXISTS template_delete_trigger ON template;
CREATE TRIGGER "template_delete_trigger" AFTER DELETE
ON template
FOR EACH ROW
EXECUTE PROCEDURE afterTemplateDeleted();
DROP TABLE IF EXISTS template_recent_vacuum;
DROP FUNCTION IF EXISTS vacuum_template_recent;
DROP FUNCTION IF EXISTS insert_template_recent;
COMMIT;