@@ -488,22 +488,18 @@ BEGIN
488488/* Acquire data modification lock (prevent further modifications)*/
489489PERFORM @extschema@.prevent_relation_modification(partition_relid);
490490
491+ v_atttype= @extschema@.get_partition_key_type(v_parent);
492+
491493SELECT attname, parttype
492494FROM @extschema@.pathman_config
493495WHERE partrel= v_parent
494496INTO v_attname, v_part_type;
495497
496- IF v_attname ISNULL THEN
497- RAISE EXCEPTION' table "%" is not partitioned' , v_parent::TEXT ;
498- END IF;
499-
500498/* Check if this is a RANGE partition*/
501499IF v_part_type!= 2 THEN
502500RAISE EXCEPTION' "%" is not a RANGE partition' , partition_relid::TEXT ;
503501END IF;
504502
505- v_atttype= @extschema@.get_attribute_type(v_parent, v_attname);
506-
507503/* Get partition values range*/
508504EXECUTE format(' SELECT @extschema@.get_part_range($1, NULL::%s)' ,
509505 @extschema@.get_base_type(v_atttype)::TEXT )
@@ -589,7 +585,6 @@ CREATE OR REPLACE FUNCTION @extschema@.append_range_partition(
589585RETURNSTEXT AS
590586$$
591587DECLARE
592- v_attnameTEXT ;
593588v_atttypeREGTYPE;
594589v_part_nameTEXT ;
595590v_intervalTEXT ;
@@ -600,16 +595,12 @@ BEGIN
600595/* Acquire lock on parent*/
601596PERFORM @extschema@.lock_partitioned_relation(parent_relid);
602597
603- SELECT attname, range_interval
598+ v_atttype := @extschema@.get_partition_key_type(parent_relid);
599+
600+ SELECT range_interval
604601FROM @extschema@.pathman_config
605602WHERE partrel= parent_relid
606- INTO v_attname, v_interval;
607-
608- IF v_attname ISNULL THEN
609- RAISE EXCEPTION' table "%" is not partitioned' , parent_relid::TEXT ;
610- END IF;
611-
612- v_atttype := @extschema@.get_attribute_type(parent_relid, v_attname);
603+ INTO v_interval;
613604
614605EXECUTE
615606format(' SELECT @extschema@.append_partition_internal($1, $2, $3, ARRAY[]::%s[], $4, $5)' ,
@@ -700,7 +691,6 @@ CREATE OR REPLACE FUNCTION @extschema@.prepend_range_partition(
700691RETURNSTEXT AS
701692$$
702693DECLARE
703- v_attnameTEXT ;
704694v_atttypeREGTYPE;
705695v_part_nameTEXT ;
706696v_intervalTEXT ;
@@ -711,16 +701,12 @@ BEGIN
711701/* Acquire lock on parent*/
712702PERFORM @extschema@.lock_partitioned_relation(parent_relid);
713703
714- SELECT attname, range_interval
704+ v_atttype := @extschema@.get_partition_key_type(parent_relid);
705+
706+ SELECT range_interval
715707FROM @extschema@.pathman_config
716708WHERE partrel= parent_relid
717- INTO v_attname, v_interval;
718-
719- IF v_attname ISNULL THEN
720- RAISE EXCEPTION' table "%" is not partitioned' , parent_relid::TEXT ;
721- END IF;
722-
723- v_atttype := @extschema@.get_attribute_type(parent_relid, v_attname);
709+ INTO v_interval;
724710
725711EXECUTE
726712format(' SELECT @extschema@.prepend_partition_internal($1, $2, $3, ARRAY[]::%s[], $4, $5)' ,