50 bool nulls[Natts_pg_cast];
68 errmsg(
"cast from type %s to type %s already exists",
78 values[Anum_pg_cast_castcontext - 1] =
CharGetDatum(castcontext);
79 values[Anum_pg_cast_castmethod - 1] =
CharGetDatum(castmethod);
81 MemSet(nulls,
false,
sizeof(nulls));
Oid GetNewOidWithIndex(Relation relation, Oid indexId, AttrNumber oidcolumn)
void table_close(Relation relation, LOCKMODE lockmode)
#define InvokeObjectPostCreateHook(classId, objectId, subId)
#define RelationGetDescr(relation)
void record_object_address_dependencies(const ObjectAddress *depender, ObjectAddresses *referenced, DependencyType behavior)
int errcode(int sqlerrcode)
#define MemSet(start, val, len)
void add_exact_object_address(const ObjectAddress *object, ObjectAddresses *addrs)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, Datum *values, bool *isnull)
ObjectAddresses * new_object_addresses(void)
void free_object_addresses(ObjectAddresses *addrs)
void heap_freetuple(HeapTuple htup)
#define OidIsValid(objectId)
#define ObjectIdGetDatum(X)
#define ereport(elevel,...)
#define HeapTupleIsValid(tuple)
void recordDependencyOnCurrentExtension(const ObjectAddress *object, bool isReplace)
HeapTuple SearchSysCache2(int cacheId, Datum key1, Datum key2)
#define ObjectAddressSet(addr, class_id, object_id)
static Datum values[MAXATTR]
int errmsg(const char *fmt,...)
Relation table_open(Oid relationId, LOCKMODE lockmode)
#define ERRCODE_DUPLICATE_OBJECT
void CatalogTupleInsert(Relation heapRel, HeapTuple tup)