PostgreSQL Source Code
git master
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
c
d
g
h
i
k
l
m
p
r
s
t
Functions
Variables
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
c
d
f
h
i
n
o
p
r
s
t
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
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
*/
20
typedef
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 */
29
char
data
[
FLEXIBLE_ARRAY_MEMBER
];
30
}
GinTuple
;
31
32
static
inline
ItemPointer
33
GinTupleGetFirst
(
GinTuple
*tup)
34
{
35
GinPostingList
*
list
;
36
37
list
= (
GinPostingList
*)
SHORTALIGN
(tup->
data
+ tup->
keylen
);
38
39
return
&
list
->first;
40
}
41
42
extern
int
_gin_compare_tuples
(
GinTuple
*
a
,
GinTuple
*
b
,
SortSupport
ssup);
43
44
#endif
/* GIN_TUPLE_H */
FLEXIBLE_ARRAY_MEMBER
#define FLEXIBLE_ARRAY_MEMBER
Definition:
c.h:434
int16
int16_t int16
Definition:
c.h:497
SHORTALIGN
#define SHORTALIGN(LEN)
Definition:
c.h:778
uint16
uint16_t uint16
Definition:
c.h:501
_gin_compare_tuples
int _gin_compare_tuples(GinTuple *a, GinTuple *b, SortSupport ssup)
Definition:
gininsert.c:2390
GinTuple
struct GinTuple GinTuple
GinTupleGetFirst
static ItemPointer GinTupleGetFirst(GinTuple *tup)
Definition:
gin_tuple.h:33
ginblock.h
b
int b
Definition:
isn.c:74
a
int a
Definition:
isn.c:73
itemptr.h
sort-test.list
list
Definition:
sort-test.py:13
OffsetNumber
uint16 OffsetNumber
Definition:
off.h:24
sortsupport.h
GinPostingList
Definition:
ginblock.h:336
GinTuple
Definition:
gin_tuple.h:21
GinTuple::data
char data[FLEXIBLE_ARRAY_MEMBER]
Definition:
gin_tuple.h:29
GinTuple::nitems
int nitems
Definition:
gin_tuple.h:28
GinTuple::typlen
int16 typlen
Definition:
gin_tuple.h:25
GinTuple::typbyval
bool typbyval
Definition:
gin_tuple.h:26
GinTuple::category
signed char category
Definition:
gin_tuple.h:27
GinTuple::tuplen
int tuplen
Definition:
gin_tuple.h:22
GinTuple::keylen
uint16 keylen
Definition:
gin_tuple.h:24
GinTuple::attrnum
OffsetNumber attrnum
Definition:
gin_tuple.h:23
ItemPointerData
Definition:
itemptr.h:37
SortSupportData
Definition:
sortsupport.h:61
src
include
access
gin_tuple.h
Generated on Thu Mar 27 2025 06:13:25 for PostgreSQL Source Code by
1.9.4