PostgreSQL Source Code git master
Loading...
Searching...
No Matches
gin_tuple.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------
2 * gin_tuple.h
3 * Public header file for Generalized Inverted Index access method.
4 *
5 * Copyright (c) 2006-2026, PostgreSQL Global Development Group
6 *
7 * src/include/access/gin_tuple.h
8 *--------------------------------------------------------------------------
9 */
10#ifndef GIN_TUPLE_H
11#define GIN_TUPLE_H
12
13#include "access/ginblock.h"
14#include "storage/itemptr.h"
15#include "utils/sortsupport.h"
16
17/*
18 * Data for one key in a GIN index. (This is not the permanent in-index
19 * representation, but just a convenient format to use during the tuplesort
20 * stage of building a new GIN index.)
21 */
22typedef struct GinTuple
23{
24 int tuplen; /* length of the whole tuple */
25 OffsetNumber attrnum; /* attnum of index key */
26 uint16 keylen; /* bytes in data for key value */
27 int16 typlen; /* typlen for key */
28 bool typbyval; /* typbyval for key */
29 signed char category; /* category: normal or NULL? */
30 int nitems; /* number of TIDs in the data */
33
34static inline ItemPointer
36{
37 GinPostingList *list;
38
39 list = (GinPostingList *) SHORTALIGN(tup->data + tup->keylen);
40
41 return &list->first;
42}
43
45
46#endif /* GIN_TUPLE_H */
#define FLEXIBLE_ARRAY_MEMBER
Definition c.h:480
int16_t int16
Definition c.h:541
#define SHORTALIGN(LEN)
Definition c.h:822
uint16_t uint16
Definition c.h:545
int _gin_compare_tuples(GinTuple *a, GinTuple *b, SortSupport ssup)
Definition gininsert.c:2434
static ItemPointer GinTupleGetFirst(GinTuple *tup)
Definition gin_tuple.h:35
int b
Definition isn.c:74
int a
Definition isn.c:73
uint16 OffsetNumber
Definition off.h:24
static int fb(int x)
char data[FLEXIBLE_ARRAY_MEMBER]
Definition gin_tuple.h:31
int nitems
Definition gin_tuple.h:30
int16 typlen
Definition gin_tuple.h:27
bool typbyval
Definition gin_tuple.h:28
signed char category
Definition gin_tuple.h:29
int tuplen
Definition gin_tuple.h:24
uint16 keylen
Definition gin_tuple.h:26
OffsetNumber attrnum
Definition gin_tuple.h:25