172 (
errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
173 errmsg(
"must be superuser to use raw page functions")));
189 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
190 errmsg(
"input page is not a valid GIN data leaf page"),
191 errdetail(
"Special size %d, expected %d",
198 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
199 errmsg(
"input page is not a compressed GIN data leaf page"),
208 elog(
ERROR,
"return type must be a row type");
210 inter_call_data->
tupd = tupdesc;
214 (((
char *) inter_call_data->
seg) +
225 if (inter_call_data->
seg != inter_call_data->
lastseg)
237 memset(nulls, 0,
sizeof(nulls));
245 for (i = 0; i < ndecoded; i++)
251 false, TYPALIGN_SHORT));
TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, Oid *resultTypeId, TupleDesc *resultTupleDesc)
ItemPointer ginPostingListDecode(GinPostingList *plist, int *ndecoded)
#define SRF_IS_FIRSTCALL()
#define PointerGetDatum(X)
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
ArrayType * construct_array(Datum *elems, int nelems, Oid elmtype, int elmlen, bool elmbyval, char elmalign)
int errcode(int sqlerrcode)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, Datum *values, bool *isnull)
#define SRF_PERCALL_SETUP()
#define SRF_RETURN_NEXT(_funcctx, _result)
#define PG_GETARG_BYTEA_P(n)
void pfree(void *pointer)
#define GinNextPostingListSegment(cur)
#define GinDataLeafPageGetPostingListSize(page)
int errdetail(const char *fmt,...)
GinPageOpaqueData * GinPageOpaque
#define GinDataLeafPageGetPostingList(page)
#define ereport(elevel,...)
Page get_page_from_raw(bytea *raw_page)
MemoryContext multi_call_memory_ctx
#define PageGetSpecialPointer(page)
#define HeapTupleGetDatum(tuple)
#define PageGetSpecialSize(page)
static Datum values[MAXATTR]
int errmsg(const char *fmt,...)
#define ItemPointerGetDatum(X)
#define UInt16GetDatum(X)
#define SRF_RETURN_DONE(_funcctx)
#define SRF_FIRSTCALL_INIT()