maya
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
ot_event_part_createchild_generic(character varying, character varying, date)
Parameters
Name
Type
Mode
parentname
character varying
IN
filtername
character varying
IN
in_target_date
date
IN
Definition
/* v20160113 Make it a generic process */ DECLARE table_name varchar; start_week timestamptz; end_week timestamptz; BEGIN SET time zone 'UTC'; SET search_path TO public; table_name := (select parentname||'_p'|| to_char(in_target_date,'IYYY')||'w'||to_char(in_target_date,'IW') as iso_year_week); start_week := (select date_trunc('week',in_target_date)); end_week := start_week + '7 days'::interval; EXECUTE 'CREATE TABLE '||table_name ||' (LIKE event INCLUDING DEFAULTS INCLUDING INDEXES INCLUDING COMMENTS) INHERITS (public.'||parentname||')'; EXECUTE 'ALTER TABLE '||table_name||' ADD CONSTRAINT ck_'||table_name||'_part_'||filtername||'_range CHECK('||filtername||' >= '|| quote_literal(start_week) ||' AND '||filtername||' < '|| quote_literal(end_week)||')'; RAISE NOTICE 'Created table %', table_name; RETURN true; EXCEPTION WHEN OTHERS THEN RAISE NOTICE '%,%', SQLSTATE, SQLERRM; RETURN false; END;