@@ -5,7 +5,7 @@ CREATE OR REPLACE FUNCTION create_range_partitions(
55 v_relationTEXT
66 , v_attributeTEXT
77 , v_start_timestampTIMESTAMP
8- , v_intervalINTERVAL
8+ , v_intervalTEXT
99 , v_premakeINTEGER )
1010RETURNS VOIDAS
1111$$
@@ -26,10 +26,14 @@ BEGIN
2626SELECT current_date INTO v_dt;
2727 END IF;
2828
29+ /* create first partition*/
2930 PERFORM create_single_range_partition(v_relation
3031 , v_dt
3132 , v_interval);
3233
34+ /* premake further partitions*/
35+ PERFORM append_range_partitions(v_relation, v_interval, v_premake);
36+
3337INSERT INTO pg_pathman_rels (
3438 relname
3539 , attname
7680 LOOP
7781 PERFORM create_single_range_partition(v_relation
7882 , v_part_timestamp
79- , v_interval::INTERVAL );
83+ , v_interval);
8084 v_part_timestamp := v_part_timestamp+ v_interval::INTERVAL;
8185 END LOOP;
8286 ELSIF NOT v_part_num ISNULL THEN
8589 LOOP
8690 PERFORM create_single_range_partition(v_relation
8791 , v_part_timestamp
88- , v_interval:: INTEGER );
92+ , v_interval);
8993 v_part_timestamp := v_part_timestamp+ v_interval;
9094 END LOOP;
9195 END IF;
@@ -99,8 +103,8 @@ $$ LANGUAGE plpgsql;
99103*/
100104CREATE OR REPLACE FUNCTION create_single_range_partition (
101105 v_parent_relnameTEXT
102- , v_start_timestampTIMESTAMPTZ
103- , v_intervalINTERVAL )
106+ , v_start_timestampTIMESTAMP
107+ , v_intervalTEXT )
104108RETURNS VOIDAS
105109$$
106110DECLARE
@@ -127,7 +131,7 @@ BEGIN
127131INSERT INTO pg_pathman_range_rels (parent, min_dt, max_dt, child)
128132VALUES (v_parent_relname
129133 , v_start_timestamp
130- , v_start_timestamp+ v_interval
134+ , v_start_timestamp+ v_interval::INTERVAL
131135 , v_child_relname);
132136END
133137$$ LANGUAGE plpgsql;