PostgreSQL Source Code git master
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-2025, 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 */
23typedef struct TSAnyCacheEntry
24{
26 bool isvalid;
28
29
30typedef 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
41
42 /*
43 * Pre-set-up fmgr call of most needed parser's methods
44 */
50
52{
53 /* dictId is the hash lookup key and MUST BE FIRST */
55 bool isvalid;
56
57 /* most frequent fmgr call */
60
61 MemoryContext dictCtx; /* memory context to store private data */
62 void *dictData;
64
65typedef struct
66{
67 int len;
70
71typedef struct
72{
73 /* cfgId is the hash lookup key and MUST BE FIRST */
75 bool isvalid;
76
78
79 int lenmap;
82
83
84/*
85 * GUC variable for current configuration
86 */
87extern PGDLLIMPORT char *TSCurrentConfig;
88
89
93
94extern Oid getTSCurrentConfig(bool emitError);
95
96#endif /* TS_CACHE_H */
#define PGDLLIMPORT
Definition: c.h:1291
unsigned int Oid
Definition: postgres_ext.h:32
Definition: fmgr.h:57
Oid * dictIds
Definition: ts_cache.h:68
ListDictionary * map
Definition: ts_cache.h:80
MemoryContext dictCtx
Definition: ts_cache.h:61
FmgrInfo prstoken
Definition: ts_cache.h:46
FmgrInfo prsstart
Definition: ts_cache.h:45
FmgrInfo prsheadline
Definition: ts_cache.h:48
FmgrInfo prsend
Definition: ts_cache.h:47
struct TSDictionaryCacheEntry TSDictionaryCacheEntry
struct TSAnyCacheEntry TSAnyCacheEntry
Oid getTSCurrentConfig(bool emitError)
Definition: ts_cache.c:556
struct TSParserCacheEntry TSParserCacheEntry
TSConfigCacheEntry * lookup_ts_config_cache(Oid cfgId)
Definition: ts_cache.c:385
TSParserCacheEntry * lookup_ts_parser_cache(Oid prsId)
Definition: ts_cache.c:113
TSDictionaryCacheEntry * lookup_ts_dictionary_cache(Oid dictId)
Definition: ts_cache.c:208
PGDLLIMPORT char * TSCurrentConfig
Definition: ts_cache.c:76