@@ -439,7 +439,7 @@ $$ LANGUAGE plpgsql;
439439 * Split RANGE partition
440440*/
441441CREATEOR REPLACE FUNCTION @extschema@.split_range_partition(
442- partition REGCLASS,
442+ partition_relid REGCLASS,
443443split_valueANYELEMENT,
444444partition_nameTEXT DEFAULTNULL ,
445445tablespaceTEXT DEFAULTNULL ,
@@ -456,13 +456,13 @@ DECLARE
456456v_check_nameTEXT ;
457457
458458BEGIN
459- v_parent= @extschema@.get_parent_of_partition(partition );
459+ v_parent= @extschema@.get_parent_of_partition(partition_relid );
460460
461461/* Acquire lock on parent*/
462462PERFORM @extschema@.lock_partitioned_relation(v_parent);
463463
464464/* Acquire data modification lock (prevent further modifications)*/
465- PERFORM @extschema@.prevent_relation_modification(partition );
465+ PERFORM @extschema@.prevent_relation_modification(partition_relid );
466466
467467SELECT attname, parttype
468468FROM @extschema@.pathman_config
@@ -475,15 +475,15 @@ BEGIN
475475
476476/* Check if this is a RANGE partition*/
477477IF v_part_type!= 2 THEN
478- RAISE EXCEPTION' "%" is not a RANGE partition' ,partition ::TEXT ;
478+ RAISE EXCEPTION' "%" is not a RANGE partition' ,partition_relid ::TEXT ;
479479END IF;
480480
481481v_atttype= @extschema@.get_attribute_type(v_parent, v_attname);
482482
483483/* Get partition values range*/
484484EXECUTE format(' SELECT @extschema@.get_part_range($1, NULL::%s)' ,
485485 @extschema@.get_base_type(v_atttype)::TEXT )
486- USINGpartition
486+ USINGpartition_relid
487487INTO p_range;
488488
489489IF p_range ISNULL THEN
@@ -509,21 +509,21 @@ BEGIN
509509v_attname, split_value, p_range[2 ]);
510510EXECUTE format(' WITH part_data AS (DELETE FROM %s WHERE %s RETURNING *)
511511INSERT INTO %s SELECT * FROM part_data' ,
512- partition ::TEXT ,
512+ partition_relid ::TEXT ,
513513 v_cond,
514514 v_new_partition);
515515
516516/* Alter original partition*/
517- v_cond := @extschema@.build_range_condition(partition ::regclass,
517+ v_cond := @extschema@.build_range_condition(partition_relid ::regclass,
518518v_attname, p_range[1 ], split_value);
519- v_check_name := @extschema@.build_check_constraint_name(partition , v_attname);
519+ v_check_name := @extschema@.build_check_constraint_name(partition_relid , v_attname);
520520
521521EXECUTE format(' ALTER TABLE %s DROP CONSTRAINT %s' ,
522- partition ::TEXT ,
522+ partition_relid ::TEXT ,
523523 v_check_name);
524524
525525EXECUTE format(' ALTER TABLE %s ADD CONSTRAINT %s CHECK (%s)' ,
526- partition ::TEXT ,
526+ partition_relid ::TEXT ,
527527 v_check_name,
528528 v_cond);
529529
@@ -958,7 +958,7 @@ LANGUAGE plpgsql;
958958 * Drop range partition
959959*/
960960CREATEOR REPLACE FUNCTION @extschema@.drop_range_partition(
961- partition REGCLASS,
961+ partition_relid REGCLASS,
962962delete_dataBOOLEAN DEFAULT TRUE)
963963RETURNSTEXT AS
964964$$
@@ -970,8 +970,8 @@ DECLARE
970970v_part_typeINTEGER ;
971971
972972BEGIN
973- parent_relid := @extschema@.get_parent_of_partition(partition );
974- part_name := partition ::TEXT ;/* save the name to be returned*/
973+ parent_relid := @extschema@.get_parent_of_partition(partition_relid );
974+ part_name := partition_relid ::TEXT ;/* save the name to be returned*/
975975
976976SELECT parttype
977977FROM @extschema@.pathman_config
@@ -980,7 +980,7 @@ BEGIN
980980
981981/* Check if this is a RANGE partition*/
982982IF v_part_type!= 2 THEN
983- RAISE EXCEPTION' "%" is not a RANGE partition' ,partition ::TEXT ;
983+ RAISE EXCEPTION' "%" is not a RANGE partition' ,partition_relid ::TEXT ;
984984END IF;
985985
986986/* Acquire lock on parent*/
@@ -989,15 +989,15 @@ BEGIN
989989IF NOT delete_data THEN
990990EXECUTE format(' INSERT INTO %s SELECT * FROM %s' ,
991991parent_relid::TEXT ,
992- partition ::TEXT );
992+ partition_relid ::TEXT );
993993GET DIAGNOSTICS v_rows= ROW_COUNT;
994994
995995/* Show number of copied rows*/
996- RAISE NOTICE' % rows copied from %' , v_rows,partition ::TEXT ;
996+ RAISE NOTICE' % rows copied from %' , v_rows,partition_relid ::TEXT ;
997997END IF;
998998
999999SELECT relkindFROM pg_catalog .pg_class
1000- WHERE oid = partition
1000+ WHERE oid = partition_relid
10011001INTO v_relkind;
10021002
10031003/*
@@ -1006,9 +1006,9 @@ BEGIN
10061006 * DROP TABLE or DROP FOREIGN TABLE.
10071007*/
10081008IF v_relkind= ' f' THEN
1009- EXECUTE format(' DROP FOREIGN TABLE %s' ,partition ::TEXT );
1009+ EXECUTE format(' DROP FOREIGN TABLE %s' ,partition_relid ::TEXT );
10101010ELSE
1011- EXECUTE format(' DROP TABLE %s' ,partition ::TEXT );
1011+ EXECUTE format(' DROP TABLE %s' ,partition_relid ::TEXT );
10121012END IF;
10131013
10141014/* Invalidate cache*/
@@ -1026,7 +1026,7 @@ SET pg_pathman.enable_partitionfilter = off; /* ensures that PartitionFilter is
10261026*/
10271027CREATEOR REPLACE FUNCTION @extschema@.attach_range_partition(
10281028parent_relidREGCLASS,
1029- partition REGCLASS,
1029+ partition_relid REGCLASS,
10301030start_valueANYELEMENT,
10311031end_valueANYELEMENT)
10321032RETURNSTEXT AS
@@ -1038,29 +1038,29 @@ DECLARE
10381038
10391039BEGIN
10401040PERFORM @extschema@.validate_relname(parent_relid);
1041- PERFORM @extschema@.validate_relname(partition );
1041+ PERFORM @extschema@.validate_relname(partition_relid );
10421042
10431043/* Acquire lock on parent*/
10441044PERFORM @extschema@.lock_partitioned_relation(parent_relid);
10451045
10461046/* Ignore temporary tables*/
10471047SELECT relpersistenceFROM pg_catalog .pg_class
1048- WHERE oid = partition INTO rel_persistence;
1048+ WHERE oid = partition_relid INTO rel_persistence;
10491049
10501050IF rel_persistence= ' t' ::CHAR THEN
10511051RAISE EXCEPTION' temporary table "%" cannot be used as a partition' ,
1052- partition ::TEXT ;
1052+ partition_relid ::TEXT ;
10531053END IF;
10541054
10551055/* check range overlap*/
10561056PERFORM @extschema@.check_range_available(parent_relid, start_value, end_value);
10571057
1058- IF NOT @extschema@.validate_relations_equality(parent_relid,partition ) THEN
1058+ IF NOT @extschema@.validate_relations_equality(parent_relid,partition_relid ) THEN
10591059RAISE EXCEPTION' partition must have the exact same structure as parent' ;
10601060END IF;
10611061
10621062/* Set inheritance*/
1063- EXECUTE format(' ALTER TABLE %s INHERIT %s' ,partition , parent_relid);
1063+ EXECUTE format(' ALTER TABLE %s INHERIT %s' ,partition_relid , parent_relid);
10641064
10651065v_attname := attnameFROM @extschema@.pathman_configWHERE partrel= parent_relid;
10661066
@@ -1070,9 +1070,9 @@ BEGIN
10701070
10711071/* Set check constraint*/
10721072EXECUTE format(' ALTER TABLE %s ADD CONSTRAINT %s CHECK (%s)' ,
1073- partition ::TEXT ,
1074- @extschema@.build_check_constraint_name(partition , v_attname),
1075- @extschema@.build_range_condition(partition ,
1073+ partition_relid ::TEXT ,
1074+ @extschema@.build_check_constraint_name(partition_relid , v_attname),
1075+ @extschema@.build_range_condition(partition_relid ,
10761076 v_attname,
10771077 start_value,
10781078 end_value));
@@ -1086,15 +1086,15 @@ BEGIN
10861086INTO v_init_callback;
10871087
10881088PERFORM @extschema@.invoke_on_partition_created_callback(parent_relid,
1089- partition ,
1089+ partition_relid ,
10901090 v_init_callback,
10911091 start_value,
10921092 end_value);
10931093
10941094/* Invalidate cache*/
10951095PERFORM @extschema@.on_update_partitions(parent_relid);
10961096
1097- RETURNpartition ;
1097+ RETURNpartition_relid ;
10981098END
10991099$$
11001100LANGUAGE plpgsql;
@@ -1104,15 +1104,15 @@ LANGUAGE plpgsql;
11041104 * Detach range partition
11051105*/
11061106CREATEOR REPLACE FUNCTION @extschema@.detach_range_partition(
1107- partition REGCLASS)
1107+ partition_relid REGCLASS)
11081108RETURNSTEXT AS
11091109$$
11101110DECLARE
11111111v_attnameTEXT ;
11121112parent_relidREGCLASS;
11131113
11141114BEGIN
1115- parent_relid := @extschema@.get_parent_of_partition(partition );
1115+ parent_relid := @extschema@.get_parent_of_partition(partition_relid );
11161116
11171117/* Acquire lock on parent*/
11181118PERFORM @extschema@.lock_partitioned_relation(parent_relid);
@@ -1127,18 +1127,18 @@ BEGIN
11271127
11281128/* Remove inheritance*/
11291129EXECUTE format(' ALTER TABLE %s NO INHERIT %s' ,
1130- partition ::TEXT ,
1130+ partition_relid ::TEXT ,
11311131 parent_relid::TEXT );
11321132
11331133/* Remove check constraint*/
11341134EXECUTE format(' ALTER TABLE %s DROP CONSTRAINT %s' ,
1135- partition ::TEXT ,
1136- @extschema@.build_check_constraint_name(partition , v_attname));
1135+ partition_relid ::TEXT ,
1136+ @extschema@.build_check_constraint_name(partition_relid , v_attname));
11371137
11381138/* Invalidate cache*/
11391139PERFORM @extschema@.on_update_partitions(parent_relid);
11401140
1141- RETURNpartition ;
1141+ RETURNpartition_relid ;
11421142END
11431143$$
11441144LANGUAGE plpgsql;