24 #define CHECK_IS_BINARY_UPGRADE \
26 if (!IsBinaryUpgrade) \
28 (errcode(ERRCODE_CANT_CHANGE_RUNTIME_PARAM), \
29 errmsg("function can only be called when server is in binary upgrade mode"))); \
183 List *requiredExtensions;
192 elog(
ERROR,
"null argument to binary_upgrade_create_empty_extension is not allowed");
209 requiredExtensions =
NIL;
218 for (
i = 0;
i < ndatums;
i++)
223 requiredExtensions =
lappend_oid(requiredExtensions, extOid);
bool binary_upgrade_record_init_privs
#define PG_GETARG_ARRAYTYPE_P(n)
void deconstruct_array_builtin(ArrayType *array, Oid elmtype, Datum **elemsp, bool **nullsp, int *nelemsp)
Oid binary_upgrade_next_pg_tablespace_oid
#define TextDatumGetCString(d)
elog(ERROR, "%s: %s", p2, msg)
ObjectAddress InsertExtensionTuple(const char *extName, Oid extOwner, Oid schemaOid, bool relocatable, const char *extVersion, Datum extConfig, Datum extCondition, List *requiredExtensions)
Oid get_extension_oid(const char *extname, bool missing_ok)
#define PG_GETARG_TEXT_PP(n)
#define PG_GETARG_DATUM(n)
#define PG_GETARG_BOOL(n)
#define PG_GETARG_TEXT_P(n)
void SetAttrMissing(Oid relid, char *attname, char *value)
RelFileNumber binary_upgrade_next_heap_pg_class_relfilenumber
RelFileNumber binary_upgrade_next_toast_pg_class_relfilenumber
Oid binary_upgrade_next_toast_pg_class_oid
Oid binary_upgrade_next_heap_pg_class_oid
RelFileNumber binary_upgrade_next_index_pg_class_relfilenumber
Oid binary_upgrade_next_index_pg_class_oid
List * lappend_oid(List *list, Oid datum)
Oid get_namespace_oid(const char *nspname, bool missing_ok)
Oid binary_upgrade_next_pg_enum_oid
Oid binary_upgrade_next_pg_type_oid
Datum binary_upgrade_set_next_heap_pg_class_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_multirange_pg_type_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_pg_enum_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_index_pg_class_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_array_pg_type_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_toast_relfilenode(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_pg_authid_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_record_init_privs(PG_FUNCTION_ARGS)
#define CHECK_IS_BINARY_UPGRADE
Datum binary_upgrade_set_next_multirange_array_pg_type_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_pg_tablespace_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_heap_relfilenode(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_index_relfilenode(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_missing_value(PG_FUNCTION_ARGS)
Datum binary_upgrade_create_empty_extension(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_pg_type_oid(PG_FUNCTION_ARGS)
Datum binary_upgrade_set_next_toast_pg_class_oid(PG_FUNCTION_ARGS)
static Datum PointerGetDatum(const void *X)
Oid binary_upgrade_next_mrng_array_pg_type_oid
Oid binary_upgrade_next_mrng_pg_type_oid
Oid binary_upgrade_next_array_pg_type_oid
Oid binary_upgrade_next_pg_authid_oid
char * text_to_cstring(const text *t)