static Oid create_c_func_internal()

in src/datatype.c [46:77]


static Oid	create_c_func_internal(Oid namespaceId, Oid funcid,
								   oidvector *parameterTypes, Oid prorettype, char *prosrc,
								   char *probin);
static Oid	find_user_defined_func(List *procname, bool typeInput);
static void check_user_defined_func(Oid funcid, Oid typeOid, Oid expectedNamespace, bool typeInput);
static char *get_probin(Oid fn_oid);
static List *get_qualified_funcname(Oid fn_oid);
static void check_user_operator_func(Oid funcid, Oid typeOid, Oid expectedNamespace);
static void check_pgtle_base_type(Oid typeOid);
static bool is_pgtle_io_func(Oid funcid, bool typeInput);
static Oid	get_type_func_argtype(bool typeInput);
static Oid	get_type_func_rettype(bool typeInput);
static char get_type_alignment(char *alignmentStr);
static char get_type_storage(char *storageStr);
static Datum
			pg_tle_create_base_type_internal(Oid typeNamespace,
											 char *typeName,
											 Oid inputFuncId,
											 Oid outputFuncId,
											 int16 internalLength,
											 char *alignmentStr,
											 char *storageStr,
											 char *funcProbin);

static void
check_is_pgtle_admin(void)
{
	Oid			tleadminoid;

	tleadminoid = get_role_oid(PG_TLE_ADMIN, false);
	CHECK_CAN_SET_ROLE(GetUserId(), tleadminoid);
}