diff options
Diffstat (limited to 'src/backend/utils/adt/pg_upgrade_support.c')
-rw-r--r-- | src/backend/utils/adt/pg_upgrade_support.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/backend/utils/adt/pg_upgrade_support.c b/src/backend/utils/adt/pg_upgrade_support.c index 797f5f539af..fc2faed9a7d 100644 --- a/src/backend/utils/adt/pg_upgrade_support.c +++ b/src/backend/utils/adt/pg_upgrade_support.c @@ -17,6 +17,7 @@ #include "catalog/pg_type.h" #include "commands/extension.h" #include "miscadmin.h" +#include "storage/relfilelocator.h" #include "utils/array.h" #include "utils/builtins.h" @@ -98,10 +99,12 @@ binary_upgrade_set_next_heap_pg_class_oid(PG_FUNCTION_ARGS) Datum binary_upgrade_set_next_heap_relfilenode(PG_FUNCTION_ARGS) { - RelFileNumber relfilenumber = PG_GETARG_OID(0); + RelFileNumber relfilenumber = PG_GETARG_INT64(0); CHECK_IS_BINARY_UPGRADE; + CHECK_RELFILENUMBER_RANGE(relfilenumber); binary_upgrade_next_heap_pg_class_relfilenumber = relfilenumber; + SetNextRelFileNumber(relfilenumber + 1); PG_RETURN_VOID(); } @@ -120,10 +123,12 @@ binary_upgrade_set_next_index_pg_class_oid(PG_FUNCTION_ARGS) Datum binary_upgrade_set_next_index_relfilenode(PG_FUNCTION_ARGS) { - RelFileNumber relfilenumber = PG_GETARG_OID(0); + RelFileNumber relfilenumber = PG_GETARG_INT64(0); CHECK_IS_BINARY_UPGRADE; + CHECK_RELFILENUMBER_RANGE(relfilenumber); binary_upgrade_next_index_pg_class_relfilenumber = relfilenumber; + SetNextRelFileNumber(relfilenumber + 1); PG_RETURN_VOID(); } @@ -142,10 +147,12 @@ binary_upgrade_set_next_toast_pg_class_oid(PG_FUNCTION_ARGS) Datum binary_upgrade_set_next_toast_relfilenode(PG_FUNCTION_ARGS) { - RelFileNumber relfilenumber = PG_GETARG_OID(0); + RelFileNumber relfilenumber = PG_GETARG_INT64(0); CHECK_IS_BINARY_UPGRADE; + CHECK_RELFILENUMBER_RANGE(relfilenumber); binary_upgrade_next_toast_pg_class_relfilenumber = relfilenumber; + SetNextRelFileNumber(relfilenumber + 1); PG_RETURN_VOID(); } |