24 #define DatumGetItemPointer(X) ((ItemPointer) DatumGetPointer(X))
25 #define ItemPointerGetDatum(X) PointerGetDatum(X)
47 (
errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
48 errmsg(
"must be superuser to use raw page functions")));
57 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
58 errmsg(
"input page is not a valid GIN metapage"),
59 errdetail(
"Expected special size %d, got %d.",
67 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
68 errmsg(
"input page is not a GIN metapage"),
74 elog(
ERROR,
"return type must be a row type");
78 memset(nulls, 0,
sizeof(nulls));
117 (
errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
118 errmsg(
"must be superuser to use raw page functions")));
127 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
128 errmsg(
"input page is not a valid GIN data leaf page"),
129 errdetail(
"Expected special size %d, got %d.",
137 elog(
ERROR,
"return type must be a row type");
140 flagbits = opaq->
flags;
165 memset(nulls, 0,
sizeof(nulls));
171 -1,
false, TYPALIGN_INT));
195 (
errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
196 errmsg(
"must be superuser to use raw page functions")));
218 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
219 errmsg(
"input page is not a valid GIN data leaf page"),
220 errdetail(
"Expected special size %d, got %d.",
227 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
228 errmsg(
"input page is not a compressed GIN data leaf page"),
237 elog(
ERROR,
"return type must be a row type");
239 inter_call_data->
tupd = tupdesc;
243 (((
char *) inter_call_data->
seg) +
254 if (inter_call_data->
seg != inter_call_data->
lastseg)
266 memset(nulls, 0,
sizeof(nulls));
274 for (
i = 0;
i < ndecoded;
i++)
280 false, TYPALIGN_SHORT));
ArrayType * construct_array(Datum *elems, int nelems, Oid elmtype, int elmlen, bool elmbyval, char elmalign)
static Datum values[MAXATTR]
#define PageGetSpecialSize(page)
#define CStringGetTextDatum(s)
int errdetail(const char *fmt,...)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
Datum Int64GetDatum(int64 X)
#define DirectFunctionCall1(func, arg1)
#define PG_GETARG_BYTEA_P(n)
TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, Oid *resultTypeId, TupleDesc *resultTupleDesc)
#define SRF_IS_FIRSTCALL()
#define SRF_PERCALL_SETUP()
#define HeapTupleGetDatum(tuple)
#define SRF_RETURN_NEXT(_funcctx, _result)
#define SRF_FIRSTCALL_INIT()
#define SRF_RETURN_DONE(_funcctx)
#define GinPageGetOpaque(page)
#define GinDataLeafPageGetPostingListSize(page)
#define GinNextPostingListSegment(cur)
#define GIN_INCOMPLETE_SPLIT
#define GinPageGetMeta(p)
#define GinDataLeafPageGetPostingList(page)
PG_FUNCTION_INFO_V1(gin_metapage_info)
struct gin_leafpage_items_state gin_leafpage_items_state
#define ItemPointerGetDatum(X)
Datum gin_leafpage_items(PG_FUNCTION_ARGS)
Datum gin_page_opaque_info(PG_FUNCTION_ARGS)
Datum gin_metapage_info(PG_FUNCTION_ARGS)
ItemPointer ginPostingListDecode(GinPostingList *plist, int *ndecoded)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, Datum *values, bool *isnull)
void pfree(void *pointer)
Page get_page_from_raw(bytea *raw_page)
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
#define UInt16GetDatum(X)
#define PointerGetDatum(X)
MemoryContext multi_call_memory_ctx
BlockNumber nPendingPages
Datum to_hex32(PG_FUNCTION_ARGS)