commit 794120b26bd7e3eea2aa74580180ba614a83b55e Author: harishkrishnaappa Date: Mon Sep 20 12:16:02 2021 +0530 first version of trigger files diff --git a/Timestamp_update_trigger_v1.0.sql b/Timestamp_update_trigger_v1.0.sql new file mode 100644 index 0000000..856c0d5 --- /dev/null +++ b/Timestamp_update_trigger_v1.0.sql @@ -0,0 +1,31 @@ +CREATE OR REPLACE FUNCTION timestamp_update() +RETURNS trigger AS +$$ +declare +v_upd_string text; +v_sqlstate text; +v_message text; +v_context text; + +BEGIN + v_upd_string := 'UPDATE ' || TG_TABLE_SCHEMA || '.' || TG_TABLE_NAME; + + IF (TG_OP = 'INSERT') THEN + v_upd_string := v_upd_string || ' SET create_timestamp = ''' || now() || ''', '; + v_upd_string := v_upd_string || ' update_timestamp = ''' || now() || ''' where syspk = ' || new.syspk; + ELSEIF (TG_OP = 'UPDATE') THEN + v_upd_string := v_upd_string || ' SET update_timestamp = ''' || now() || ''' where syspk = ' || old.syspk; + END IF; + + execute (v_upd_string); + + RETURN new; + + EXCEPTION WHEN OTHERS THEN + GET STACKED DIAGNOSTICS + v_sqlstate = returned_sqlstate, + v_message = message_text, + v_context = pg_exception_context; + RETURN NULL; +END +$$ LANGUAGE plpgsql; diff --git a/trigger_creation_v1.0.sql b/trigger_creation_v1.0.sql new file mode 100644 index 0000000..270f79b --- /dev/null +++ b/trigger_creation_v1.0.sql @@ -0,0 +1,68 @@ +create trigger trg_fw_config_menu_screen_render after insert or update on fw_core.fw_config_menu_screen_render +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_screenlet_instance after insert or update on fw_core.fw_config_screenlet_instance +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_screenlet_vizlet_datasql_axis_tooltips after insert or update on fw_core.fw_config_screenlet_vizlet_datasql_axis_tooltips +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_appconfig_m_action_icons after insert or update on fw_core.fw_appconfig_m_action_icons +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_appconfig_m_screen_type after insert or update on fw_core.fw_appconfig_m_screen_type +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_appconfig_m_screenlet_type after insert or update on fw_core.fw_appconfig_m_screenlet_type +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_appconfig_m_screenlet_vizlet after insert or update on fw_core.fw_appconfig_m_screenlet_vizlet +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_appconfig_m_vizlet_size after insert or update on fw_core.fw_appconfig_m_vizlet_size +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_m_datasql after insert or update on fw_core.fw_config_m_datasql +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_m_listbox after insert or update on fw_core.fw_config_m_listbox +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_m_listbox_sql after insert or update on fw_core.fw_config_m_listbox_sql +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_menu_master after insert or update on fw_core.fw_config_menu_master +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_m_viztype after insert or update on fw_core.fw_m_viztype +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_column_metadata after insert or update on fw_core.fw_config_column_metadata +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_db_data_source after insert or update on fw_core.fw_config_db_data_source +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_table_metadata after insert or update on fw_core.fw_config_table_metadata +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_report_column_master after insert or update on fw_core.fw_config_report_column_master +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_sys_parameters after insert or update on fw_core.fw_config_sys_parameters +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_config_user_role after insert or update on fw_core.fw_config_user_role +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_m_client after insert or update on fw_core.fw_m_client +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_m_function after insert or update on fw_core.fw_m_function +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_m_role after insert or update on fw_core.fw_m_role +for each row execute procedure fw_core.timestamp_update(); + +create trigger trg_fw_m_user after insert or update on fw_core.fw_m_user +for each row execute procedure fw_core.timestamp_update();