PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gin_tuple.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------
2 * gin.h
3 * Public header file for Generalized Inverted Index access method.
4 *
5 * Copyright (c) 2006-2024, PostgreSQL Global Development Group
6 *
7 * src/include/access/gin.h
8 *--------------------------------------------------------------------------
9 */
10#ifndef GIN_TUPLE_
11#define GIN_TUPLE_
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.
19 */
20typedef struct GinTuple
21{
22 int tuplen; /* length of the whole tuple */
23 OffsetNumber attrnum; /* attnum of index key */
24 uint16 keylen; /* bytes in data for key value */
25 int16 typlen; /* typlen for key */
26 bool typbyval; /* typbyval for key */
27 signed char category; /* category: normal or NULL? */
28 int nitems; /* number of TIDs in the data */
31
32static inline ItemPointer
34{
36
37 list = (GinPostingList *) SHORTALIGN(tup->data + tup->keylen);
38
39 return &list->first;
40}
41
43
44#endif /* GIN_TUPLE_H */
#define FLEXIBLE_ARRAY_MEMBER
Definition: c.h:434
int16_t int16
Definition: c.h:497
#define SHORTALIGN(LEN)
Definition: c.h:778
uint16_t uint16
Definition: c.h:501
int _gin_compare_tuples(GinTuple *a, GinTuple *b, SortSupport ssup)
Definition: gininsert.c:2390
struct GinTuple GinTuple
static ItemPointer GinTupleGetFirst(GinTuple *tup)
Definition: gin_tuple.h:33
int b
Definition: isn.c:74
int a
Definition: isn.c:73
uint16 OffsetNumber
Definition: off.h:24
char data[FLEXIBLE_ARRAY_MEMBER]
Definition: gin_tuple.h:29
int nitems
Definition: gin_tuple.h:28
int16 typlen
Definition: gin_tuple.h:25
bool typbyval
Definition: gin_tuple.h:26
signed char category
Definition: gin_tuple.h:27
int tuplen
Definition: gin_tuple.h:22
uint16 keylen
Definition: gin_tuple.h:24
OffsetNumber attrnum
Definition: gin_tuple.h:23