18 #define NUM_BUFFERCACHE_PAGES_MIN_ELEM 8 19 #define NUM_BUFFERCACHE_PAGES_ELEM 9 95 elog(
ERROR,
"return type must be a row type");
99 elog(
ERROR,
"incorrect number of output arguments");
TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, Oid *resultTypeId, TupleDesc *resultTupleDesc)
PG_FUNCTION_INFO_V1(pg_buffercache_pages)
TupleDesc CreateTemplateTupleDesc(int natts)
#define SRF_IS_FIRSTCALL()
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, Datum *values, bool *isnull)
#define SRF_PERCALL_SETUP()
#define SRF_RETURN_NEXT(_funcctx, _result)
#define ObjectIdGetDatum(X)
TupleDesc BlessTupleDesc(TupleDesc tupdesc)
void * MemoryContextAllocHuge(MemoryContext context, Size size)
#define GetBufferDescriptor(id)
MemoryContext CurrentMemoryContext
Datum Int64GetDatum(int64 X)
void TupleDescInitEntry(TupleDesc desc, AttrNumber attributeNumber, const char *attributeName, Oid oidtypeid, int32 typmod, int attdim)
BufferCachePagesRec * record
uint32 LockBufHdr(BufferDesc *desc)
MemoryContext multi_call_memory_ctx
#define InvalidBlockNumber
#define NUM_BUFFERCACHE_PAGES_MIN_ELEM
#define BufferDescriptorGetBuffer(bdesc)
#define HeapTupleGetDatum(tuple)
Datum pg_buffercache_pages(PG_FUNCTION_ARGS)
static Datum values[MAXATTR]
#define UnlockBufHdr(desc, s)
#define BUF_STATE_GET_USAGECOUNT(state)
#define NUM_BUFFERCACHE_PAGES_ELEM
#define BUF_STATE_GET_REFCOUNT(state)
#define SRF_RETURN_DONE(_funcctx)
#define SRF_FIRSTCALL_INIT()