PostgreSQL Source Code
git master
Loading...
Searching...
No Matches
ts_cache.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* ts_cache.h
4
* Tsearch related object caches.
5
*
6
* Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7
* Portions Copyright (c) 1994, Regents of the University of California
8
*
9
* src/include/tsearch/ts_cache.h
10
*
11
*-------------------------------------------------------------------------
12
*/
13
#ifndef TS_CACHE_H
14
#define TS_CACHE_H
15
16
#include "
fmgr.h
"
17
18
19
/*
20
* All TS*CacheEntry structs must share this common header
21
* (see InvalidateTSCacheCallBack)
22
*/
23
typedef
struct
TSAnyCacheEntry
24
{
25
Oid
objId
;
26
bool
isvalid
;
27
}
TSAnyCacheEntry
;
28
29
30
typedef
struct
TSParserCacheEntry
31
{
32
/* prsId is the hash lookup key and MUST BE FIRST */
33
Oid
prsId
;
/* OID of the parser */
34
bool
isvalid
;
35
36
Oid
startOid
;
37
Oid
tokenOid
;
38
Oid
endOid
;
39
Oid
headlineOid
;
40
Oid
lextypeOid
;
41
42
/*
43
* Pre-set-up fmgr call of most needed parser's methods
44
*/
45
FmgrInfo
prsstart
;
46
FmgrInfo
prstoken
;
47
FmgrInfo
prsend
;
48
FmgrInfo
prsheadline
;
49
}
TSParserCacheEntry
;
50
51
typedef
struct
TSDictionaryCacheEntry
52
{
53
/* dictId is the hash lookup key and MUST BE FIRST */
54
Oid
dictId
;
55
bool
isvalid
;
56
57
/* most frequent fmgr call */
58
Oid
lexizeOid
;
59
FmgrInfo
lexize
;
60
61
MemoryContext
dictCtx
;
/* memory context to store private data */
62
void
*
dictData
;
63
}
TSDictionaryCacheEntry
;
64
65
typedef
struct
66
{
67
int
len
;
68
Oid
*
dictIds
;
69
}
ListDictionary
;
70
71
typedef
struct
72
{
73
/* cfgId is the hash lookup key and MUST BE FIRST */
74
Oid
cfgId
;
75
bool
isvalid
;
76
77
Oid
prsId
;
78
79
int
lenmap
;
80
ListDictionary
*
map
;
81
}
TSConfigCacheEntry
;
82
83
84
/*
85
* GUC variable for current configuration
86
*/
87
extern
PGDLLIMPORT
char
*
TSCurrentConfig
;
88
89
90
extern
TSParserCacheEntry
*
lookup_ts_parser_cache
(
Oid
prsId);
91
extern
TSDictionaryCacheEntry
*
lookup_ts_dictionary_cache
(
Oid
dictId);
92
extern
TSConfigCacheEntry
*
lookup_ts_config_cache
(
Oid
cfgId);
93
94
extern
Oid
getTSCurrentConfig
(
bool
emitError
);
95
96
#endif
/* TS_CACHE_H */
PGDLLIMPORT
#define PGDLLIMPORT
Definition
c.h:1334
fmgr.h
Oid
unsigned int Oid
Definition
postgres_ext.h:32
fb
static int fb(int x)
Definition
preproc-init.c:92
FmgrInfo
Definition
fmgr.h:57
ListDictionary
Definition
ts_cache.h:66
ListDictionary::len
int len
Definition
ts_cache.h:67
ListDictionary::dictIds
Oid * dictIds
Definition
ts_cache.h:68
MemoryContextData
Definition
memnodes.h:118
TSAnyCacheEntry
Definition
ts_cache.h:24
TSAnyCacheEntry::isvalid
bool isvalid
Definition
ts_cache.h:26
TSAnyCacheEntry::objId
Oid objId
Definition
ts_cache.h:25
TSConfigCacheEntry
Definition
ts_cache.h:72
TSConfigCacheEntry::prsId
Oid prsId
Definition
ts_cache.h:77
TSConfigCacheEntry::isvalid
bool isvalid
Definition
ts_cache.h:75
TSConfigCacheEntry::map
ListDictionary * map
Definition
ts_cache.h:80
TSConfigCacheEntry::cfgId
Oid cfgId
Definition
ts_cache.h:74
TSConfigCacheEntry::lenmap
int lenmap
Definition
ts_cache.h:79
TSDictionaryCacheEntry
Definition
ts_cache.h:52
TSDictionaryCacheEntry::isvalid
bool isvalid
Definition
ts_cache.h:55
TSDictionaryCacheEntry::dictId
Oid dictId
Definition
ts_cache.h:54
TSDictionaryCacheEntry::lexizeOid
Oid lexizeOid
Definition
ts_cache.h:58
TSDictionaryCacheEntry::dictData
void * dictData
Definition
ts_cache.h:62
TSDictionaryCacheEntry::lexize
FmgrInfo lexize
Definition
ts_cache.h:59
TSDictionaryCacheEntry::dictCtx
MemoryContext dictCtx
Definition
ts_cache.h:61
TSParserCacheEntry
Definition
ts_cache.h:31
TSParserCacheEntry::prstoken
FmgrInfo prstoken
Definition
ts_cache.h:46
TSParserCacheEntry::lextypeOid
Oid lextypeOid
Definition
ts_cache.h:40
TSParserCacheEntry::prsstart
FmgrInfo prsstart
Definition
ts_cache.h:45
TSParserCacheEntry::endOid
Oid endOid
Definition
ts_cache.h:38
TSParserCacheEntry::tokenOid
Oid tokenOid
Definition
ts_cache.h:37
TSParserCacheEntry::prsheadline
FmgrInfo prsheadline
Definition
ts_cache.h:48
TSParserCacheEntry::headlineOid
Oid headlineOid
Definition
ts_cache.h:39
TSParserCacheEntry::prsId
Oid prsId
Definition
ts_cache.h:33
TSParserCacheEntry::isvalid
bool isvalid
Definition
ts_cache.h:34
TSParserCacheEntry::startOid
Oid startOid
Definition
ts_cache.h:36
TSParserCacheEntry::prsend
FmgrInfo prsend
Definition
ts_cache.h:47
getTSCurrentConfig
Oid getTSCurrentConfig(bool emitError)
Definition
ts_cache.c:558
lookup_ts_config_cache
TSConfigCacheEntry * lookup_ts_config_cache(Oid cfgId)
Definition
ts_cache.c:387
lookup_ts_parser_cache
TSParserCacheEntry * lookup_ts_parser_cache(Oid prsId)
Definition
ts_cache.c:113
lookup_ts_dictionary_cache
TSDictionaryCacheEntry * lookup_ts_dictionary_cache(Oid dictId)
Definition
ts_cache.c:208
TSCurrentConfig
PGDLLIMPORT char * TSCurrentConfig
Definition
ts_cache.c:76
src
include
tsearch
ts_cache.h
Generated on Fri Jan 30 2026 06:13:17 for PostgreSQL Source Code by
1.9.8