Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Impressum ts_cache.h   Sprache: unbekannt

 
/*-------------------------------------------------------------------------
 *
 * ts_cache.h
 *   Tsearch related object caches.
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/tsearch/ts_cache.h
 *
 *-------------------------------------------------------------------------
 */

#ifndef TS_CACHE_H
#define TS_CACHE_H

#include "fmgr.h"


/*
 * All TS*CacheEntry structs must share this common header
 * (see InvalidateTSCacheCallBack)
 */

typedef struct TSAnyCacheEntry
{
 Oid   objId;
 bool  isvalid;
} TSAnyCacheEntry;


typedef struct TSParserCacheEntry
{
 /* prsId is the hash lookup key and MUST BE FIRST */
 Oid   prsId;   /* OID of the parser */
 bool  isvalid;

 Oid   startOid;
 Oid   tokenOid;
 Oid   endOid;
 Oid   headlineOid;
 Oid   lextypeOid;

 /*
  * Pre-set-up fmgr call of most needed parser's methods
 */

 FmgrInfo prsstart;
 FmgrInfo prstoken;
 FmgrInfo prsend;
 FmgrInfo prsheadline;
} TSParserCacheEntry;

typedef struct TSDictionaryCacheEntry
{
 /* dictId is the hash lookup key and MUST BE FIRST */
 Oid   dictId;
 bool  isvalid;

 /* most frequent fmgr call */
 Oid   lexizeOid;
 FmgrInfo lexize;

 MemoryContext dictCtx;  /* memory context to store private data */
 void    *dictData;
} TSDictionaryCacheEntry;

typedef struct
{
 int   len;
 Oid     *dictIds;
} ListDictionary;

typedef struct
{
 /* cfgId is the hash lookup key and MUST BE FIRST */
 Oid   cfgId;
 bool  isvalid;

 Oid   prsId;

 int   lenmap;
 ListDictionary *map;
} TSConfigCacheEntry;


/*
 * GUC variable for current configuration
 */

extern PGDLLIMPORT char *TSCurrentConfig;


extern TSParserCacheEntry *lookup_ts_parser_cache(Oid prsId);
extern TSDictionaryCacheEntry *lookup_ts_dictionary_cache(Oid dictId);
extern TSConfigCacheEntry *lookup_ts_config_cache(Oid cfgId);

extern Oid getTSCurrentConfig(bool emitError);

#endif       /* TS_CACHE_H */

Messung V0.5 in Prozent
C=89 H=100 G=94

[Seitenstruktur0.11Druckenetwas mehr zur Ethik2026-08-05]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=141584
#Domains=752002