maya
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
geofence_history_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.seendate); IF NEW.seendate >= '2021-11-18 00:00:00+00' AND NEW.seendate < '2021-11-19 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_18 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-17 00:00:00+00' AND NEW.seendate < '2021-11-18 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_17 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-19 00:00:00+00' AND NEW.seendate < '2021-11-20 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_19 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-16 00:00:00+00' AND NEW.seendate < '2021-11-17 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_16 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-20 00:00:00+00' AND NEW.seendate < '2021-11-21 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_20 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-15 00:00:00+00' AND NEW.seendate < '2021-11-16 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_15 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-21 00:00:00+00' AND NEW.seendate < '2021-11-22 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_21 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-14 00:00:00+00' AND NEW.seendate < '2021-11-15 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_14 VALUES (NEW.*) ; ELSIF NEW.seendate >= '2021-11-22 00:00:00+00' AND NEW.seendate < '2021-11-23 00:00:00+00' THEN INSERT INTO public.geofence_history_p2021_11_22 VALUES (NEW.*) ; ELSE v_partition_name := public.check_name_length('geofence_history', 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