23#include "utils/fmgroids.h"
70 entry->
relid == relid)
98 for (
i = 0;
i < 2;
i++)
159 key.reltablespace = reltablespace;
160 key.relfilenumber = relfilenumber;
179 if (reltablespace == GLOBALTABLESPACE_OID)
204 ClassTblspcRelfilenodeIndexId,
216 if (classform->relpersistence == RELPERSISTENCE_TEMP)
221 "unexpected duplicate for tablespace %u, relfilenumber %u",
222 reltablespace, relfilenumber);
225 Assert(classform->reltablespace == reltablespace);
226 Assert(classform->relfilenode == relfilenumber);
227 relid = classform->oid;
246 entry->
relid = relid;
#define MemSet(start, val, len)
void CreateCacheMemoryContext(void)
void * hash_search(HTAB *hashp, const void *keyPtr, HASHACTION action, bool *foundPtr)
HTAB * hash_create(const char *tabname, int64 nelem, const HASHCTL *info, int flags)
void * hash_seq_search(HASH_SEQ_STATUS *status)
void hash_seq_init(HASH_SEQ_STATUS *status, HTAB *hashp)
void fmgr_info_cxt(Oid functionId, FmgrInfo *finfo, MemoryContext mcxt)
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)
Assert(PointerIsAligned(start, uint64))
#define HeapTupleIsValid(tuple)
static void * GETSTRUCT(const HeapTupleData *tuple)
void CacheRegisterRelcacheCallback(RelcacheCallbackFunction func, Datum arg)
MemoryContext CacheMemoryContext
FormData_pg_class * Form_pg_class
static Datum ObjectIdGetDatum(Oid X)
static ScanKeyData relfilenumber_skey[2]
static void RelfilenumberMapInvalidateCallback(Datum arg, Oid relid)
static void InitializeRelfilenumberMap(void)
static HTAB * RelfilenumberMapHash
Oid RelidByRelfilenumber(Oid reltablespace, RelFileNumber relfilenumber)
Oid RelationMapFilenumberToOid(RelFileNumber filenumber, bool shared)
#define BTEqualStrategyNumber
RelFileNumber relfilenumber
StrategyNumber sk_strategy
void table_close(Relation relation, LOCKMODE lockmode)
Relation table_open(Oid relationId, LOCKMODE lockmode)