42 char *conversion_name;
47 const char *from_encoding_name =
stmt->for_encoding_name;
48 const char *to_encoding_name =
stmt->to_encoding_name;
50 static const Oid funcargs[] = {INT4OID, INT4OID, CSTRINGOID, INTERNALOID, INT4OID, BOOLOID};
66 if (from_encoding < 0)
68 (
errcode(ERRCODE_UNDEFINED_OBJECT),
69 errmsg(
"source encoding \"%s\" does not exist",
70 from_encoding_name)));
75 (
errcode(ERRCODE_UNDEFINED_OBJECT),
76 errmsg(
"destination encoding \"%s\" does not exist",
88 (
errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
89 errmsg(
"encoding conversion to or from \"SQL_ASCII\" is not supported")));
101 (
errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
102 errmsg(
"encoding conversion function %s must return type %s",
131 (
errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
132 errmsg(
"encoding conversion function %s returned incorrect result for empty input",
140 from_encoding, to_encoding, funcoid,
stmt->def);
void aclcheck_error(AclResult aclerr, ObjectType objtype, const char *objectname)
AclResult object_aclcheck(Oid classid, Oid objectid, Oid roleid, AclMode mode)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define OidFunctionCall6(functionId, arg1, arg2, arg3, arg4, arg5, arg6)
char * get_namespace_name(Oid nspid)
Oid get_func_rettype(Oid funcid)
Oid QualifiedNameGetCreationNamespace(const List *names, char **objname_p)
char * NameListToString(const List *names)
Oid LookupFuncName(List *funcname, int nargs, const Oid *argtypes, bool missing_ok)
ObjectAddress ConversionCreate(const char *conname, Oid connamespace, Oid conowner, int32 conforencoding, int32 contoencoding, Oid conproc, bool def)
#define pg_char_to_encoding
static Datum BoolGetDatum(bool X)
static Datum CStringGetDatum(const char *X)
static Datum Int32GetDatum(int32 X)
static int32 DatumGetInt32(Datum X)