24#include "utils/fmgroids.h"
42 bool nulls[Natts_pg_largeobject_metadata];
46 pg_lo_meta =
table_open(LargeObjectMetadataRelationId,
53 memset(nulls,
false,
sizeof(nulls));
59 LargeObjectMetadataOidIndexId,
60 Anum_pg_largeobject_metadata_oid);
65 values[Anum_pg_largeobject_metadata_lomowner - 1]
69 values[Anum_pg_largeobject_metadata_lomacl - 1]
72 nulls[Anum_pg_largeobject_metadata_lomacl - 1] =
true;
103 pg_lo_meta =
table_open(LargeObjectMetadataRelationId,
106 pg_largeobject =
table_open(LargeObjectRelationId,
113 Anum_pg_largeobject_metadata_oid,
118 LargeObjectMetadataOidIndexId,
true,
124 (
errcode(ERRCODE_UNDEFINED_OBJECT),
125 errmsg(
"large object %u does not exist", loid)));
135 Anum_pg_largeobject_loid,
140 LargeObjectLOidPNIndexId,
true,
185 Anum_pg_largeobject_metadata_oid,
189 pg_lo_meta =
table_open(LargeObjectMetadataRelationId,
193 LargeObjectMetadataOidIndexId,
true,
void recordDependencyOnNewAcl(Oid classId, Oid objectId, int32 objsubId, Oid ownerId, Acl *acl)
Acl * get_user_default_acl(ObjectType objtype, Oid ownerId, Oid nsp_oid)
static Datum values[MAXATTR]
#define OidIsValid(objectId)
Oid GetNewOidWithIndex(Relation relation, Oid indexId, AttrNumber oidcolumn)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
void systable_endscan(SysScanDesc sysscan)
HeapTuple systable_getnext(SysScanDesc sysscan)
SysScanDesc systable_beginscan(Relation heapRelation, Oid indexId, bool indexOK, Snapshot snapshot, int nkeys, ScanKey key)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, const Datum *values, const bool *isnull)
void heap_freetuple(HeapTuple htup)
#define HeapTupleIsValid(tuple)
void CatalogTupleInsert(Relation heapRel, HeapTuple tup)
void CatalogTupleDelete(Relation heapRel, ItemPointer tid)
void LargeObjectDrop(Oid loid)
bool LargeObjectExistsWithSnapshot(Oid loid, Snapshot snapshot)
bool LargeObjectExists(Oid loid)
Oid LargeObjectCreate(Oid loid)
static Datum PointerGetDatum(const void *X)
static Datum ObjectIdGetDatum(Oid X)
#define RelationGetDescr(relation)
void ScanKeyInit(ScanKey entry, AttrNumber attributeNumber, StrategyNumber strategy, RegProcedure procedure, Datum argument)
#define BTEqualStrategyNumber
void table_close(Relation relation, LOCKMODE lockmode)
Relation table_open(Oid relationId, LOCKMODE lockmode)