Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _PG_TS_PUBLIC_H_
00014 #define _PG_TS_PUBLIC_H_
00015
00016 #include "tsearch/ts_type.h"
00017
00018
00019
00020
00021
00022
00023
00024
00025 typedef struct
00026 {
00027 int lexid;
00028 char *alias;
00029 char *descr;
00030 } LexDescr;
00031
00032
00033
00034
00035 typedef struct
00036 {
00037 uint32 selected:1,
00038 in:1,
00039 replace:1,
00040 repeated:1,
00041 skip:1,
00042 unused:3,
00043 type:8,
00044 len:16;
00045 char *word;
00046 QueryOperand *item;
00047 } HeadlineWordEntry;
00048
00049 typedef struct
00050 {
00051 HeadlineWordEntry *words;
00052 int32 lenwords;
00053 int32 curwords;
00054 char *startsel;
00055 char *stopsel;
00056 char *fragdelim;
00057 int16 startsellen;
00058 int16 stopsellen;
00059 int16 fragdelimlen;
00060 } HeadlineParsedText;
00061
00062
00063
00064
00065 extern char *get_tsearch_config_filename(const char *basename,
00066 const char *extension);
00067
00068
00069
00070
00071 typedef struct
00072 {
00073 int len;
00074 char **stop;
00075 } StopList;
00076
00077 extern void readstoplist(const char *fname, StopList *s,
00078 char *(*wordop) (const char *));
00079 extern bool searchstoplist(StopList *s, char *key);
00080
00081
00082
00083
00084
00085
00086 typedef struct
00087 {
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105 uint16 nvariant;
00106
00107 uint16 flags;
00108
00109 char *lexeme;
00110 } TSLexeme;
00111
00112
00113 #define TSL_ADDPOS 0x01
00114 #define TSL_PREFIX 0x02
00115 #define TSL_FILTER 0x04
00116
00117
00118
00119
00120
00121 typedef struct
00122 {
00123 bool isend;
00124
00125 bool getnext;
00126 void *private_state;
00127
00128 } DictSubState;
00129
00130 #endif