183 double *spc_random_page_cost,
190 if (spc_random_page_cost)
192 if (!
spc->opts ||
spc->opts->random_page_cost < 0)
195 *spc_random_page_cost =
spc->opts->random_page_cost;
200 if (!
spc->opts ||
spc->opts->seq_page_cost < 0)
219 if (!
spc->opts ||
spc->opts->effective_io_concurrency < 0)
222 return spc->opts->effective_io_concurrency;
233 if (!
spc->opts ||
spc->opts->maintenance_io_concurrency < 0)
236 return spc->opts->maintenance_io_concurrency;
int maintenance_io_concurrency
int effective_io_concurrency
#define Assert(condition)
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)
#define HeapTupleIsValid(tuple)
void CacheRegisterSyscacheCallback(int cacheid, SyscacheCallbackFunction func, Datum arg)
void * MemoryContextAlloc(MemoryContext context, Size size)
void pfree(void *pointer)
MemoryContext CacheMemoryContext
static AmcheckOptions opts
static Datum ObjectIdGetDatum(Oid X)
bytea * tablespace_reloptions(Datum reloptions, bool validate)
static TableSpaceCacheEntry * get_tablespace(Oid spcid)
static void InvalidateTableSpaceCacheCallback(Datum arg, int cacheid, uint32 hashvalue)
int get_tablespace_io_concurrency(Oid spcid)
static void InitializeTableSpaceCache(void)
void get_tablespace_page_costs(Oid spcid, double *spc_random_page_cost, double *spc_seq_page_cost)
static HTAB * TableSpaceCacheHash
int get_tablespace_maintenance_io_concurrency(Oid spcid)
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache1(int cacheId, Datum key1)
Datum SysCacheGetAttr(int cacheId, HeapTuple tup, AttrNumber attributeNumber, bool *isNull)
static Size VARSIZE(const void *PTR)