1 /*-------------------------------------------------------------------------
4 * definition of the "text search parser" system catalog (pg_ts_parser)
7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/catalog/pg_ts_parser.h
13 * The Catalog.pm module reads this file and derives schema
16 *-------------------------------------------------------------------------
18 #ifndef PG_TS_PARSER_H
19 #define PG_TS_PARSER_H
21 #include "catalog/genbki.h"
22 #include "catalog/pg_ts_parser_d.h" /* IWYU pragma: export */
25 * pg_ts_parser definition. cpp turns this into
26 * typedef struct FormData_pg_ts_parser
29 CATALOG(pg_ts_parser
,3601,TSParserRelationId
)
37 Oid prsnamespace
BKI_DEFAULT(pg_catalog
) BKI_LOOKUP(pg_namespace
);
39 /* init parsing session */
40 regproc prsstart
BKI_LOOKUP(pg_proc
);
42 /* return next token */
43 regproc prstoken
BKI_LOOKUP(pg_proc
);
45 /* finalize parsing session */
46 regproc prsend
BKI_LOOKUP(pg_proc
);
48 /* return data for headline creation */
49 regproc prsheadline
BKI_LOOKUP_OPT(pg_proc
);
51 /* return descriptions of lexeme's types */
52 regproc prslextype
BKI_LOOKUP(pg_proc
);
53 } FormData_pg_ts_parser
;
55 typedef FormData_pg_ts_parser
*Form_pg_ts_parser
;
57 DECLARE_UNIQUE_INDEX(pg_ts_parser_prsname_index
, 3606, TSParserNameNspIndexId
, pg_ts_parser
, btree(prsname name_ops
, prsnamespace oid_ops
));
58 DECLARE_UNIQUE_INDEX_PKEY(pg_ts_parser_oid_index
, 3607, TSParserOidIndexId
, pg_ts_parser
, btree(oid oid_ops
));
60 MAKE_SYSCACHE(TSPARSERNAMENSP
, pg_ts_parser_prsname_index
, 2);
61 MAKE_SYSCACHE(TSPARSEROID
, pg_ts_parser_oid_index
, 2);
63 #endif /* PG_TS_PARSER_H */