maya
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
alert_part_trig_func()
Parameters
Name
Type
Mode
Definition
DECLARE v_count int; v_partition_name text; v_partition_timestamp timestamptz; BEGIN IF TG_OP = 'INSERT' THEN v_partition_timestamp := date_trunc('day', NEW.alertdate); IF NEW.alertdate >= '2023-03-24 00:00:00+00' AND NEW.alertdate < '2023-03-25 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_24 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-23 00:00:00+00' AND NEW.alertdate < '2023-03-24 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_23 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-25 00:00:00+00' AND NEW.alertdate < '2023-03-26 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_25 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-22 00:00:00+00' AND NEW.alertdate < '2023-03-23 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_22 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-26 00:00:00+00' AND NEW.alertdate < '2023-03-27 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_26 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-21 00:00:00+00' AND NEW.alertdate < '2023-03-22 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_21 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-27 00:00:00+00' AND NEW.alertdate < '2023-03-28 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_27 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-20 00:00:00+00' AND NEW.alertdate < '2023-03-21 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_20 VALUES (NEW.*) ; ELSIF NEW.alertdate >= '2023-03-28 00:00:00+00' AND NEW.alertdate < '2023-03-29 00:00:00+00' THEN INSERT INTO public.alert_p2023_03_28 VALUES (NEW.*) ; ELSE v_partition_name := public.check_name_length('alert', to_char(v_partition_timestamp, 'YYYY_MM_DD'), TRUE); SELECT count(*) INTO v_count FROM pg_catalog.pg_tables WHERE schemaname = 'public'::name AND tablename = v_partition_name::name; IF v_count > 0 THEN EXECUTE format('INSERT INTO %I.%I VALUES($1.*) ', 'public', v_partition_name) USING NEW; ELSE RETURN NEW; END IF; END IF; END IF; RETURN NULL; END