Ooops, missed one file to remove.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 13 Nov 2007 21:25:25 +0000 (21:25 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 13 Nov 2007 21:25:25 +0000 (21:25 +0000)
contrib/tsearch2/tsearch.sql.in [deleted file]

diff --git a/contrib/tsearch2/tsearch.sql.in b/contrib/tsearch2/tsearch.sql.in
deleted file mode 100644 (file)
index c4b5cbc..0000000
+++ /dev/null
@@ -1,1242 +0,0 @@
-/* $PostgreSQL: pgsql/contrib/tsearch2/tsearch.sql.in,v 1.22 2007/11/13 04:24:29 momjian Exp $ */
-
--- Adjust this setting to control where the objects get CREATEd.
-SET search_path = public;
-
---dict conf
-CREATE TABLE pg_ts_dict (
-   dict_name   text not null primary key,
-   dict_init   regprocedure,
-   dict_initoption text,
-   dict_lexize regprocedure not null,
-   dict_comment    text
-) with oids;
-
---dict interface
-CREATE OR REPLACE FUNCTION lexize(oid, text) 
-RETURNS _text
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION lexize(text, text)
-        RETURNS _text
-        as 'MODULE_PATHNAME', 'lexize_byname'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION lexize(text)
-        RETURNS _text
-        as 'MODULE_PATHNAME', 'lexize_bycurrent'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION set_curdict(int)
-RETURNS void
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION set_curdict(text)
-RETURNS void
-as 'MODULE_PATHNAME', 'set_curdict_byname'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
---built-in dictionaries
-CREATE OR REPLACE FUNCTION dex_init(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION dex_lexize(internal,internal,int4)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-insert into pg_ts_dict select 
-   'simple', 
-   'dex_init(internal)',
-   null,
-   'dex_lexize(internal,internal,int4)',
-   'Simple example of dictionary.'
-;
-CREATE OR REPLACE FUNCTION snb_en_init(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION snb_lexize(internal,internal,int4)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-insert into pg_ts_dict select 
-   'en_stem', 
-   'snb_en_init(internal)',
-   'contrib/english.stop',
-   'snb_lexize(internal,internal,int4)',
-   'English Stemmer. Snowball.'
-;
-
-CREATE OR REPLACE FUNCTION snb_ru_init_koi8(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-insert into pg_ts_dict select 
-   'ru_stem_koi8', 
-   'snb_ru_init_koi8(internal)',
-   'contrib/russian.stop',
-   'snb_lexize(internal,internal,int4)',
-   'Russian Stemmer. Snowball. KOI8 Encoding'
-;
-CREATE OR REPLACE FUNCTION snb_ru_init_utf8(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-insert into pg_ts_dict select 
-   'ru_stem_utf8', 
-   'snb_ru_init_utf8(internal)',
-   'contrib/russian.stop.utf8',
-   'snb_lexize(internal,internal,int4)',
-   'Russian Stemmer. Snowball. UTF8 Encoding'
-;
-CREATE OR REPLACE FUNCTION spell_init(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION spell_lexize(internal,internal,int4)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-insert into pg_ts_dict select 
-   'ispell_template', 
-   'spell_init(internal)',
-   null,
-   'spell_lexize(internal,internal,int4)',
-   'ISpell interface. Must have .dict and .aff files'
-;
-
-CREATE OR REPLACE FUNCTION syn_init(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION syn_lexize(internal,internal,int4)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-insert into pg_ts_dict select 
-   'synonym', 
-   'syn_init(internal)',
-   null,
-   'syn_lexize(internal,internal,int4)',
-   'Example of synonym dictionary'
-;
-
-CREATE OR REPLACE FUNCTION thesaurus_init(internal)
-RETURNS internal
-as 'MODULE_PATHNAME' 
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION thesaurus_lexize(internal,internal,int4,internal)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-insert into pg_ts_dict select 
-   'thesaurus_template', 
-   'thesaurus_init(internal)',
-   null,
-   'thesaurus_lexize(internal,internal,int4,internal)',
-   'Thesaurus template, must be pointed Dictionary and DictFile'
-;
-
---dict conf
-CREATE TABLE pg_ts_parser (
-   prs_name    text not null primary key,
-   prs_start   regprocedure not null,
-   prs_nexttoken   regprocedure not null,
-   prs_end     regprocedure not null,
-   prs_headline    regprocedure not null,
-   prs_lextype regprocedure not null,
-   prs_comment text
-) with oids;
-
---sql-level interface
-CREATE TYPE tokentype 
-   AS (tokid int4, alias text, descr text); 
-
-CREATE OR REPLACE FUNCTION token_type(int4)
-RETURNS setof tokentype
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION token_type(text)
-RETURNS setof tokentype
-as 'MODULE_PATHNAME', 'token_type_byname'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION token_type()
-RETURNS setof tokentype
-as 'MODULE_PATHNAME', 'token_type_current'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION set_curprs(int)
-RETURNS void
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION set_curprs(text)
-RETURNS void
-as 'MODULE_PATHNAME', 'set_curprs_byname'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE TYPE tokenout 
-   AS (tokid int4, token text);
-
-CREATE OR REPLACE FUNCTION parse(oid,text)
-RETURNS setof tokenout
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-CREATE OR REPLACE FUNCTION parse(text,text)
-RETURNS setof tokenout
-as 'MODULE_PATHNAME', 'parse_byname'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-CREATE OR REPLACE FUNCTION parse(text)
-RETURNS setof tokenout
-as 'MODULE_PATHNAME', 'parse_current'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
---default parser
-CREATE OR REPLACE FUNCTION prsd_start(internal,int4)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION prsd_getlexeme(internal,internal,internal)
-RETURNS int4
-as 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION prsd_end(internal)
-RETURNS void
-as 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION prsd_lextype(internal)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION prsd_headline(internal,internal,internal)
-RETURNS internal
-as 'MODULE_PATHNAME'
-LANGUAGE C;
-
-insert into pg_ts_parser select
-   'default',
-   'prsd_start(internal,int4)',
-   'prsd_getlexeme(internal,internal,internal)',
-   'prsd_end(internal)',
-   'prsd_headline(internal,internal,internal)',
-   'prsd_lextype(internal)',
-   'Parser from OpenFTS v0.34'
-;  
-
---tsearch config
-
-CREATE TABLE pg_ts_cfg (
-   ts_name     text not null primary key,
-   prs_name    text not null,
-   locale      text
-) with oids;
-
-CREATE TABLE pg_ts_cfgmap (
-   ts_name     text not null,
-   tok_alias   text not null,
-   dict_name   text[],
-   primary key (ts_name,tok_alias)
-) with oids;
-
-CREATE OR REPLACE FUNCTION set_curcfg(int)
-RETURNS void
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION set_curcfg(text)
-RETURNS void
-as 'MODULE_PATHNAME', 'set_curcfg_byname'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION show_curcfg()
-RETURNS oid
-as 'MODULE_PATHNAME'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-insert into pg_ts_cfg values ('default', 'default','C');
-insert into pg_ts_cfg values ('default_russian', 'default','ru_RU.KOI8-R');
-insert into pg_ts_cfg values ('utf8_russian', 'default','ru_RU.UTF-8');
-insert into pg_ts_cfg values ('simple', 'default');
-
-insert into pg_ts_cfgmap values ('default', 'lword', '{en_stem}');
-insert into pg_ts_cfgmap values ('default', 'nlword', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'word', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'email', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'url', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'host', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'sfloat', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'version', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'part_hword', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'nlpart_hword', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'lpart_hword', '{en_stem}');
-insert into pg_ts_cfgmap values ('default', 'hword', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'lhword', '{en_stem}');
-insert into pg_ts_cfgmap values ('default', 'nlhword', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'uri', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'file', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'float', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'int', '{simple}');
-insert into pg_ts_cfgmap values ('default', 'uint', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'lword', '{en_stem}');
-insert into pg_ts_cfgmap values ('default_russian', 'nlword', '{ru_stem_koi8}');
-insert into pg_ts_cfgmap values ('default_russian', 'word', '{ru_stem_koi8}');
-insert into pg_ts_cfgmap values ('default_russian', 'email', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'url', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'host', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'sfloat', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'version', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'part_hword', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'nlpart_hword', '{ru_stem_koi8}');
-insert into pg_ts_cfgmap values ('default_russian', 'lpart_hword', '{en_stem}');
-insert into pg_ts_cfgmap values ('default_russian', 'hword', '{ru_stem_koi8}');
-insert into pg_ts_cfgmap values ('default_russian', 'lhword', '{en_stem}');
-insert into pg_ts_cfgmap values ('default_russian', 'nlhword', '{ru_stem_koi8}');
-insert into pg_ts_cfgmap values ('default_russian', 'uri', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'file', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'float', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'int', '{simple}');
-insert into pg_ts_cfgmap values ('default_russian', 'uint', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'lword', '{en_stem}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'nlword', '{ru_stem_utf8}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'word', '{ru_stem_utf8}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'email', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'url', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'host', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'sfloat', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'version', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'part_hword', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'nlpart_hword', '{ru_stem_utf8}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'lpart_hword', '{en_stem}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'hword', '{ru_stem_utf8}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'lhword', '{en_stem}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'nlhword', '{ru_stem_utf8}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'uri', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'file', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'float', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'int', '{simple}');
-insert into pg_ts_cfgmap values ('utf8_russian', 'uint', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'lword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'nlword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'word', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'email', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'url', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'host', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'sfloat', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'version', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'part_hword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'nlpart_hword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'lpart_hword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'hword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'lhword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'nlhword', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'uri', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'file', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'float', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'int', '{simple}');
-insert into pg_ts_cfgmap values ('simple', 'uint', '{simple}');
-
---tsvector type
-CREATE OR REPLACE FUNCTION tsvector_in(cstring)
-RETURNS tsvector
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION tsvector_out(tsvector)
-RETURNS cstring
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE TYPE tsvector (
-        INTERNALLENGTH = -1,
-        INPUT = tsvector_in,
-        OUTPUT = tsvector_out,
-        STORAGE = extended
-);
-
-CREATE OR REPLACE FUNCTION length(tsvector)
-RETURNS int4
-AS 'MODULE_PATHNAME', 'tsvector_length'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION to_tsvector(oid, text)
-RETURNS tsvector
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION to_tsvector(text, text)
-RETURNS tsvector
-AS 'MODULE_PATHNAME', 'to_tsvector_name'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION to_tsvector(text)
-RETURNS tsvector
-AS 'MODULE_PATHNAME', 'to_tsvector_current'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION strip(tsvector)
-RETURNS tsvector
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION setweight(tsvector,"char")
-RETURNS tsvector
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION concat(tsvector,tsvector)
-RETURNS tsvector
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OPERATOR || (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = concat
-);
-
---query type
-CREATE OR REPLACE FUNCTION tsquery_in(cstring)
-RETURNS tsquery
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION tsquery_out(tsquery)
-RETURNS cstring
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE TYPE tsquery (
-        INTERNALLENGTH = -1,
-        ALIGNMENT = int4,
-        INPUT = tsquery_in,
-        OUTPUT = tsquery_out
-);
-
-CREATE OR REPLACE FUNCTION querytree(tsquery)
-RETURNS text
-AS 'MODULE_PATHNAME', 'tsquerytree'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION to_tsquery(oid, text)
-RETURNS tsquery
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION to_tsquery(text, text)
-RETURNS tsquery
-AS 'MODULE_PATHNAME','to_tsquery_name'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION to_tsquery(text)
-RETURNS tsquery
-AS 'MODULE_PATHNAME','to_tsquery_current'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION plainto_tsquery(oid, text)
-RETURNS tsquery
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION plainto_tsquery(text, text)
-RETURNS tsquery
-AS 'MODULE_PATHNAME','plainto_tsquery_name'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION plainto_tsquery(text)
-RETURNS tsquery
-AS 'MODULE_PATHNAME','plainto_tsquery_current'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
---operations
-CREATE OR REPLACE FUNCTION exectsq(tsvector, tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-  
-COMMENT ON FUNCTION exectsq(tsvector, tsquery) IS 'boolean operation with text index';
-
-CREATE OR REPLACE FUNCTION rexectsq(tsquery, tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-COMMENT ON FUNCTION rexectsq(tsquery, tsvector) IS 'boolean operation with text index';
-
-CREATE OPERATOR @@ (
-        LEFTARG = tsvector,
-        RIGHTARG = tsquery,
-        PROCEDURE = exectsq,
-        COMMUTATOR = '@@',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-CREATE OPERATOR @@ (
-        LEFTARG = tsquery,
-        RIGHTARG = tsvector,
-        PROCEDURE = rexectsq,
-        COMMUTATOR = '@@',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
---Trigger
-CREATE OR REPLACE FUNCTION tsearch2()
-RETURNS trigger
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
---Relevation
-CREATE OR REPLACE FUNCTION rank(float4[], tsvector, tsquery)
-RETURNS float4
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank(float4[], tsvector, tsquery, int4)
-RETURNS float4
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank(tsvector, tsquery)
-RETURNS float4
-AS 'MODULE_PATHNAME', 'rank_def'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank(tsvector, tsquery, int4)
-RETURNS float4
-AS 'MODULE_PATHNAME', 'rank_def'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank_cd(float4[], tsvector, tsquery)
-RETURNS float4
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank_cd(float4[], tsvector, tsquery, int4)
-RETURNS float4
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank_cd(tsvector, tsquery)
-RETURNS float4
-AS 'MODULE_PATHNAME', 'rank_cd_def'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rank_cd(tsvector, tsquery, int4)
-RETURNS float4
-AS 'MODULE_PATHNAME', 'rank_cd_def'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION headline(oid, text, tsquery, text)
-RETURNS text
-AS 'MODULE_PATHNAME', 'headline'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION headline(oid, text, tsquery)
-RETURNS text
-AS 'MODULE_PATHNAME', 'headline'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION headline(text, text, tsquery, text)
-RETURNS text
-AS 'MODULE_PATHNAME', 'headline_byname'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION headline(text, text, tsquery)
-RETURNS text
-AS 'MODULE_PATHNAME', 'headline_byname'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION headline(text, tsquery, text)
-RETURNS text
-AS 'MODULE_PATHNAME', 'headline_current'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION headline(text, tsquery)
-RETURNS text
-AS 'MODULE_PATHNAME', 'headline_current'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
---GiST
---GiST key type 
-CREATE OR REPLACE FUNCTION gtsvector_in(cstring)
-RETURNS gtsvector
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION gtsvector_out(gtsvector)
-RETURNS cstring
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE TYPE gtsvector (
-        INTERNALLENGTH = -1,
-        INPUT = gtsvector_in,
-        OUTPUT = gtsvector_out
-);
-
--- support FUNCTIONs
-CREATE OR REPLACE FUNCTION gtsvector_consistent(gtsvector,internal,int4)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-  
-CREATE OR REPLACE FUNCTION gtsvector_compress(internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsvector_decompress(internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsvector_penalty(internal,internal,internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION gtsvector_picksplit(internal, internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsvector_union(internal, internal)
-RETURNS _int4
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsvector_same(gtsvector, gtsvector, internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
--- CREATE the OPERATOR class
-CREATE OPERATOR CLASS gist_tsvector_ops
-DEFAULT FOR TYPE tsvector USING gist
-AS
-        OPERATOR        1       @@ (tsvector, tsquery)  RECHECK ,
-        FUNCTION        1       gtsvector_consistent (gtsvector, internal, int4),
-        FUNCTION        2       gtsvector_union (internal, internal),
-        FUNCTION        3       gtsvector_compress (internal),
-        FUNCTION        4       gtsvector_decompress (internal),
-        FUNCTION        5       gtsvector_penalty (internal, internal, internal),
-        FUNCTION        6       gtsvector_picksplit (internal, internal),
-        FUNCTION        7       gtsvector_same (gtsvector, gtsvector, internal),
-        STORAGE         gtsvector;
-
-
---stat info
-CREATE TYPE statinfo 
-   AS (word text, ndoc int4, nentry int4);
-
---CREATE OR REPLACE FUNCTION tsstat_in(cstring)
---RETURNS tsstat
---AS 'MODULE_PATHNAME'
---LANGUAGE C RETURNS NULL ON NULL INPUT;
---
---CREATE OR REPLACE FUNCTION tsstat_out(tsstat)
---RETURNS cstring
---AS 'MODULE_PATHNAME'
---LANGUAGE C RETURNS NULL ON NULL INPUT;
---
---CREATE TYPE tsstat (
---        INTERNALLENGTH = -1,
---        INPUT = tsstat_in,
---        OUTPUT = tsstat_out,
---        STORAGE = plain
---);
---
---CREATE OR REPLACE FUNCTION ts_accum(tsstat,tsvector)
---RETURNS tsstat
---AS 'MODULE_PATHNAME'
---LANGUAGE C RETURNS NULL ON NULL INPUT;
---
---CREATE OR REPLACE FUNCTION ts_accum_finish(tsstat)
--- RETURNS setof statinfo
--- as 'MODULE_PATHNAME'
--- LANGUAGE C
--- RETURNS NULL ON NULL INPUT;
---
---CREATE AGGREGATE stat (
--- BASETYPE=tsvector,
--- SFUNC=ts_accum,
--- STYPE=tsstat,
--- FINALFUNC = ts_accum_finish,
--- initcond = ''
---); 
-
-CREATE OR REPLACE FUNCTION stat(text)
-RETURNS setof statinfo
-as 'MODULE_PATHNAME', 'ts_stat'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION stat(text,text)
-RETURNS setof statinfo
-as 'MODULE_PATHNAME', 'ts_stat'
-LANGUAGE C
-RETURNS NULL ON NULL INPUT;
-
---reset - just for debuging
-CREATE OR REPLACE FUNCTION reset_tsearch()
-        RETURNS void
-        as 'MODULE_PATHNAME'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT;
-
---get cover (debug for rank_cd)
-CREATE OR REPLACE FUNCTION get_covers(tsvector,tsquery)
-        RETURNS text
-        as 'MODULE_PATHNAME'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT;
-
---debug function
-create type tsdebug as (
-        ts_name text,
-        tok_type text,
-        description text,
-        token   text,
-        dict_name text[],
-        "tsvector" tsvector
-);
-
-CREATE OR REPLACE FUNCTION _get_parser_from_curcfg() 
-RETURNS text as 
-' select prs_name from pg_ts_cfg where oid = show_curcfg() '
-LANGUAGE SQL RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION ts_debug(text)
-RETURNS setof tsdebug as '
-select 
-        m.ts_name,
-        t.alias as tok_type,
-        t.descr as description,
-        p.token,
-        m.dict_name,
-        strip(to_tsvector(p.token)) as tsvector
-from
-        parse( _get_parser_from_curcfg(), $1 ) as p,
-        token_type() as t,
-        pg_ts_cfgmap as m,
-        pg_ts_cfg as c
-where
-        t.tokid=p.tokid and
-        t.alias = m.tok_alias and 
-        m.ts_name=c.ts_name and 
-        c.oid=show_curcfg() 
-' LANGUAGE SQL RETURNS NULL ON NULL INPUT;
-
---compare functions
-CREATE OR REPLACE FUNCTION tsvector_cmp(tsvector,tsvector)
-RETURNS int4
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsvector_lt(tsvector,tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsvector_le(tsvector,tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-        
-CREATE OR REPLACE FUNCTION tsvector_eq(tsvector,tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsvector_ge(tsvector,tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-        
-CREATE OR REPLACE FUNCTION tsvector_gt(tsvector,tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsvector_ne(tsvector,tsvector)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OPERATOR < (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = tsvector_lt,
-        COMMUTATOR = '>',
-        NEGATOR = '>=',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR <= (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = tsvector_le,
-        COMMUTATOR = '>=',
-        NEGATOR = '>',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR >= (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = tsvector_ge,
-        COMMUTATOR = '<=',
-        NEGATOR = '<',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR > (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = tsvector_gt,
-        COMMUTATOR = '<',
-        NEGATOR = '<=',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR = (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = tsvector_eq,
-        COMMUTATOR = '=',
-        NEGATOR = '<>',
-        RESTRICT = eqsel,
-        JOIN = eqjoinsel,
-        SORT1 = '<',
-        SORT2 = '<'
-);
-
-CREATE OPERATOR <> (
-        LEFTARG = tsvector,
-        RIGHTARG = tsvector,
-        PROCEDURE = tsvector_ne,
-        COMMUTATOR = '<>',
-        NEGATOR = '=',
-        RESTRICT = neqsel,
-        JOIN = neqjoinsel
-);
-
-CREATE OPERATOR CLASS tsvector_ops
-    DEFAULT FOR TYPE tsvector USING btree AS
-        OPERATOR        1       < ,
-        OPERATOR        2       <= , 
-        OPERATOR        3       = ,
-        OPERATOR        4       >= ,
-        OPERATOR        5       > ,
-        FUNCTION        1       tsvector_cmp(tsvector, tsvector);
-
-----------------Compare functions and operators for tsquery
-CREATE OR REPLACE FUNCTION tsquery_cmp(tsquery,tsquery)
-RETURNS int4
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_lt(tsquery,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_le(tsquery,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_eq(tsquery,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_ge(tsquery,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_gt(tsquery,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_ne(tsquery,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-
-CREATE OPERATOR < (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_lt,
-        COMMUTATOR = '>',
-        NEGATOR = '>=',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR <= (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_le,
-        COMMUTATOR = '>=',
-        NEGATOR = '>',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR >= (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_ge,
-        COMMUTATOR = '<=',
-        NEGATOR = '<',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR > (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_gt,
-        COMMUTATOR = '<',
-        NEGATOR = '<=',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-
-CREATE OPERATOR = (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_eq,
-        COMMUTATOR = '=',
-        NEGATOR = '<>',
-        RESTRICT = eqsel,
-        JOIN = eqjoinsel,
-        SORT1 = '<',
-        SORT2 = '<'
-);
-
-CREATE OPERATOR <> (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_ne,
-        COMMUTATOR = '<>',
-        NEGATOR = '=',
-        RESTRICT = neqsel,
-        JOIN = neqjoinsel
-);
-
-CREATE OPERATOR CLASS tsquery_ops
-    DEFAULT FOR TYPE tsquery USING btree AS
-        OPERATOR        1       < ,
-        OPERATOR        2       <= ,
-        OPERATOR        3       = ,
-        OPERATOR        4       >= ,
-        OPERATOR        5       > ,
-        FUNCTION        1       tsquery_cmp(tsquery, tsquery);
-
-CREATE OR REPLACE FUNCTION numnode(tsquery)
-        RETURNS int4
-        as 'MODULE_PATHNAME', 'tsquery_numnode'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsquery_and(tsquery,tsquery)
-        RETURNS tsquery
-        as 'MODULE_PATHNAME', 'tsquery_and'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OPERATOR && (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_and,
-        COMMUTATOR = '&&',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OR REPLACE FUNCTION tsquery_or(tsquery,tsquery)
-        RETURNS tsquery
-        as 'MODULE_PATHNAME', 'tsquery_or'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OPERATOR || (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_or,
-        COMMUTATOR = '||',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OR REPLACE FUNCTION tsquery_not(tsquery)
-        RETURNS tsquery
-        as 'MODULE_PATHNAME', 'tsquery_not'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OPERATOR !! (
-        RIGHTARG = tsquery,
-        PROCEDURE = tsquery_not
-);
-
---------------rewrite subsystem
-
-CREATE OR REPLACE FUNCTION rewrite(tsquery, text)
-        RETURNS tsquery
-        as 'MODULE_PATHNAME', 'tsquery_rewrite'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rewrite(tsquery, tsquery, tsquery)
-        RETURNS tsquery
-        as 'MODULE_PATHNAME', 'tsquery_rewrite_query'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION rewrite_accum(tsquery,tsquery[])
-        RETURNS tsquery
-        AS 'MODULE_PATHNAME'
-        LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION rewrite_finish(tsquery)
-      RETURNS tsquery
-      as 'MODULE_PATHNAME'
-      LANGUAGE C;
-
-CREATE AGGREGATE rewrite (
-      BASETYPE=tsquery[],
-      SFUNC=rewrite_accum,
-      STYPE=tsquery,
-      FINALFUNC = rewrite_finish
-);
-
-CREATE OR REPLACE FUNCTION tsq_mcontains(tsquery, tsquery)
-        RETURNS bool
-        as 'MODULE_PATHNAME'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OR REPLACE FUNCTION tsq_mcontained(tsquery, tsquery)
-        RETURNS bool
-        as 'MODULE_PATHNAME'
-        LANGUAGE C
-        RETURNS NULL ON NULL INPUT IMMUTABLE;
-
-CREATE OPERATOR @> (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsq_mcontains,
-        COMMUTATOR = '<@',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR <@ (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsq_mcontained,
-        COMMUTATOR = '@>',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
--- obsolete:
-CREATE OPERATOR @ (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsq_mcontains,
-        COMMUTATOR = '~',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR ~ (
-        LEFTARG = tsquery,
-        RIGHTARG = tsquery,
-        PROCEDURE = tsq_mcontained,
-        COMMUTATOR = '@',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
------------gist support of rewrite------------------
-
-CREATE OR REPLACE FUNCTION gtsq_in(cstring)
-RETURNS gtsq
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION gtsq_out(gtsq)
-RETURNS cstring
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE TYPE gtsq (
-        INTERNALLENGTH = 8,
-        INPUT = gtsq_in,
-        OUTPUT = gtsq_out
-);
-
-CREATE OR REPLACE FUNCTION gtsq_consistent(gtsq,internal,int4)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsq_compress(internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsq_decompress(internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsq_penalty(internal,internal,internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION gtsq_picksplit(internal, internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsq_union(bytea, internal)
-RETURNS _int4
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OR REPLACE FUNCTION gtsq_same(gtsq, gtsq, internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C;
-
-CREATE OPERATOR CLASS gist_tp_tsquery_ops
-DEFAULT FOR TYPE tsquery USING gist
-AS
-        OPERATOR        7       @> (tsquery, tsquery) RECHECK,
-        OPERATOR        8       <@ (tsquery, tsquery) RECHECK,
-        OPERATOR        13      @ (tsquery, tsquery) RECHECK,
-        OPERATOR        14      ~ (tsquery, tsquery) RECHECK,
-        FUNCTION        1       gtsq_consistent (gtsq, internal, int4),
-        FUNCTION        2       gtsq_union (bytea, internal),
-        FUNCTION        3       gtsq_compress (internal),
-        FUNCTION        4       gtsq_decompress (internal),
-        FUNCTION        5       gtsq_penalty (internal, internal, internal),
-        FUNCTION        6       gtsq_picksplit (internal, internal),
-        FUNCTION        7       gtsq_same (gtsq, gtsq, internal),
-        STORAGE         gtsq;
-
---GIN support function
-CREATE OR REPLACE FUNCTION gin_extract_tsvector(tsvector,internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION gin_extract_tsquery(tsquery,internal,internal)
-RETURNS internal
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OR REPLACE FUNCTION gin_ts_consistent(internal,internal,tsquery)
-RETURNS bool
-AS 'MODULE_PATHNAME'
-LANGUAGE C RETURNS NULL ON NULL INPUT;
-
-CREATE OPERATOR @@@ (
-        LEFTARG = tsvector,
-        RIGHTARG = tsquery,
-        PROCEDURE = exectsq,
-        COMMUTATOR = '@@@',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-CREATE OPERATOR @@@ (
-        LEFTARG = tsquery,
-        RIGHTARG = tsvector,
-        PROCEDURE = rexectsq,
-        COMMUTATOR = '@@@',
-        RESTRICT = contsel,
-        JOIN = contjoinsel
-);
-
-CREATE OPERATOR CLASS gin_tsvector_ops
-DEFAULT FOR TYPE tsvector USING gin
-AS
-        OPERATOR        1       @@ (tsvector, tsquery),
-        OPERATOR        2       @@@ (tsvector, tsquery) RECHECK,
-        FUNCTION        1       bttextcmp(text, text),
-        FUNCTION        2       gin_extract_tsvector(tsvector,internal),
-        FUNCTION        3       gin_extract_tsquery(tsquery,internal,internal),
-        FUNCTION        4       gin_ts_consistent(internal,internal,tsquery),
-        STORAGE         text;
-
-
---example of ISpell dictionary
---update pg_ts_dict set dict_initoption='DictFile="/usr/local/share/ispell/russian.dict" ,AffFile ="/usr/local/share/ispell/russian.aff", StopFile="/usr/local/share/ispell/russian.stop"' where dict_name='ispell_template';
-
---example of synonym dict
---update pg_ts_dict set dict_initoption='/usr/local/share/ispell/english.syn' where dict_name='synonym';
-
---example of thesaurus dict
---update pg_ts_dict set dict_initoption='DictFile="contrib/thesaurus", Dictionary="en_stem"' where dict_name='thesaurus_template';
---update pg_ts_cfgmap set dict_name = '{thesaurus_template,en_stem}' where dict_name = '{en_stem}';