/* *ConversionCreate * *Addanewtupletopg_conversion.
*/
ObjectAddress
ConversionCreate(constchar *conname, Oid connamespace,
Oid conowner,
int32 conforencoding, int32 contoencoding,
Oid conproc, bool def)
{ int i;
Relation rel;
TupleDesc tupDesc;
HeapTuple tup;
Oid oid; bool nulls[Natts_pg_conversion];
Datum values[Natts_pg_conversion];
NameData cname;
ObjectAddress myself,
referenced;
/* sanity checks */ if (!conname)
elog(ERROR, "no conversion name supplied");
/* make sure there is no existing conversion of same name */ if (SearchSysCacheExists2(CONNAMENSP,
PointerGetDatum(conname),
ObjectIdGetDatum(connamespace)))
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("conversion \"%s\" already exists", conname)));
if (def)
{ /* *makesurethereisnoexistingdefault<forencoding><toencoding> *pairinthisnamespace
*/ if (FindDefaultConversion(connamespace,
conforencoding,
contoencoding))
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("default conversion for %s to %s already exists",
pg_encoding_to_char(conforencoding),
pg_encoding_to_char(contoencoding))));
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.