PostgreSQL Source Code: src/include/access/gin_tuple.h Source File
PostgreSQL Source Code
git master
[
フレーム
]
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-2025, 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
*/
22
typedef
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 */
31
char
data
[
FLEXIBLE_ARRAY_MEMBER
];
32
}
GinTuple
;
33
34
static
inline
ItemPointer
35
GinTupleGetFirst
(
GinTuple
*tup)
36
{
37
GinPostingList
*
list
;
38
39
list
= (
GinPostingList
*)
SHORTALIGN
(tup->
data
+ tup->
keylen
);
40
41
return
&
list
->first;
42
}
43
44
extern
int
_gin_compare_tuples
(
GinTuple
*
a
,
GinTuple
*
b
,
SortSupport
ssup);
45
46
#endif
/* GIN_TUPLE_H */
FLEXIBLE_ARRAY_MEMBER
#define FLEXIBLE_ARRAY_MEMBER
Definition:
c.h:470
int16
int16_t int16
Definition:
c.h:533
SHORTALIGN
#define SHORTALIGN(LEN)
Definition:
c.h:806
uint16
uint16_t uint16
Definition:
c.h:537
_gin_compare_tuples
int _gin_compare_tuples(GinTuple *a, GinTuple *b, SortSupport ssup)
Definition:
gininsert.c:2405
GinTuple
struct GinTuple GinTuple
GinTupleGetFirst
static ItemPointer GinTupleGetFirst(GinTuple *tup)
Definition:
gin_tuple.h:35
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:23
GinTuple::data
char data[FLEXIBLE_ARRAY_MEMBER]
Definition:
gin_tuple.h:31
GinTuple::nitems
int nitems
Definition:
gin_tuple.h:30
GinTuple::typlen
int16 typlen
Definition:
gin_tuple.h:27
GinTuple::typbyval
bool typbyval
Definition:
gin_tuple.h:28
GinTuple::category
signed char category
Definition:
gin_tuple.h:29
GinTuple::tuplen
int tuplen
Definition:
gin_tuple.h:24
GinTuple::keylen
uint16 keylen
Definition:
gin_tuple.h:26
GinTuple::attrnum
OffsetNumber attrnum
Definition:
gin_tuple.h:25
ItemPointerData
Definition:
itemptr.h:37
SortSupportData
Definition:
sortsupport.h:61
src
include
access
gin_tuple.h
Generated on Mon Oct 6 2025 06:13:16 for PostgreSQL Source Code by
doxygen
1.9.4
AltStyle
によって変換されたページ
(->オリジナル)
/
アドレス:
モード:
デフォルト
音声ブラウザ
ルビ付き
配色反転
文字拡大
モバイル