PostgreSQL Source Code: contrib/pageinspect/ginfuncs.c Source File (original) (raw)
1
2
3
4
5
6
7
8
9
11
20
21
25
26
29{
37 bool nulls[10];
38
41 (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
42 errmsg("must be superuser to use raw page functions")));
43
45
48
51 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
52 errmsg("input page is not a valid GIN metapage"),
53 errdetail("Expected special size %d, got %d.",
56
58
61 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
62 errmsg("input page is not a GIN metapage"),
63 errdetail("Flags %04X, expected %04X",
65
66
68 elog(ERROR, "return type must be a row type");
69
71
72 memset(nulls, 0, sizeof(nulls));
73
79
80
85
87
88
90
92}
93
94
97{
104 bool nulls[3];
106 int nflags = 0;
108
111 (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
112 errmsg("must be superuser to use raw page functions")));
113
115
118
121 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
122 errmsg("input page is not a valid GIN data leaf page"),
123 errdetail("Expected special size %d, got %d.",
126
128
129
131 elog(ERROR, "return type must be a row type");
132
133
134 flagbits = opaq->flags;
153 if (flagbits)
154 {
155
157 }
158
159 memset(nulls, 0, sizeof(nulls));
160
164
165
167
169}
170
172{
177
180{
184
187 (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
188 errmsg("must be superuser to use raw page functions")));
189
191 {
196
199
201
203 {
206 }
207
210 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
211 errmsg("input page is not a valid GIN data leaf page"),
212 errdetail("Expected special size %d, got %d.",
215
219 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
220 errmsg("input page is not a compressed GIN data leaf page"),
221 errdetail("Flags %04X, expected %04X",
224
226
227
229 elog(ERROR, "return type must be a row type");
230
231 inter_call_data->tupd = tupdesc;
232
235 (((char *) inter_call_data->seg) +
237
238 fctx->user_fctx = inter_call_data;
239
241 }
242
244 inter_call_data = fctx->user_fctx;
245
246 if (inter_call_data->seg != inter_call_data->lastseg)
247 {
252 bool nulls[3];
253 int ndecoded,
254 i;
256 Datum *tids_datum;
257
258 memset(nulls, 0, sizeof(nulls));
259
262
263
266 for (i = 0; i < ndecoded; i++)
269 pfree(tids_datum);
271
272
275
277
279 }
280
282}
ArrayType * construct_array_builtin(Datum *elems, int nelems, Oid elmtype)
static Datum values[MAXATTR]
static uint16 PageGetSpecialSize(const PageData *page)
static bool PageIsNew(const PageData *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 SRF_RETURN_NEXT(_funcctx, _result)
#define SRF_FIRSTCALL_INIT()
static Datum HeapTupleGetDatum(const HeapTupleData *tuple)
#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
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_out)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, const Datum *values, const bool *isnull)
static Datum ItemPointerGetDatum(const ItemPointerData *X)
void pfree(void *pointer)
Page get_page_from_raw(bytea *raw_page)
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
static Datum PointerGetDatum(const void *X)
static Datum UInt16GetDatum(uint16 X)
static Datum Int32GetDatum(int32 X)
MemoryContext multi_call_memory_ctx
BlockNumber nPendingPages
Datum to_hex32(PG_FUNCTION_ARGS)