mirror of
https://github.com/postgres/postgres.git
synced 2026-01-05 23:38:41 +03:00
Make /contrib install/uninstall script consistent:
remove transactions use create or replace function make formatting consistent set search patch on first line Add documentation on modifying *.sql to set the search patch, and mention that major upgrades should still run the installation scripts. Some of these issues were spotted by Tom today.
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
-- Adjust this setting to control where the objects get CREATEd.
|
||||
SET search_path = public;
|
||||
|
||||
BEGIN;
|
||||
|
||||
--dict conf
|
||||
CREATE TABLE pg_ts_dict (
|
||||
dict_name text not null primary key,
|
||||
@@ -13,47 +11,47 @@ CREATE TABLE pg_ts_dict (
|
||||
) with oids;
|
||||
|
||||
--dict interface
|
||||
CREATE FUNCTION lexize(oid, text)
|
||||
RETURNS _text
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
CREATE OR REPLACE FUNCTION lexize(oid, text)
|
||||
RETURNS _text
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION lexize(text, text)
|
||||
CREATE OR REPLACE FUNCTION lexize(text, text)
|
||||
RETURNS _text
|
||||
as 'MODULE_PATHNAME', 'lexize_byname'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION lexize(text)
|
||||
CREATE OR REPLACE FUNCTION lexize(text)
|
||||
RETURNS _text
|
||||
as 'MODULE_PATHNAME', 'lexize_bycurrent'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION set_curdict(int)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME'
|
||||
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 FUNCTION set_curdict(text)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME', 'set_curdict_byname'
|
||||
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 FUNCTION dex_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION dex_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION dex_lexize(internal,internal,int4)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
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',
|
||||
@@ -62,17 +60,17 @@ insert into pg_ts_dict select
|
||||
'dex_lexize(internal,internal,int4)',
|
||||
'Simple example of dictionary.'
|
||||
;
|
||||
|
||||
CREATE FUNCTION snb_en_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE OR REPLACE FUNCTION snb_en_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION snb_lexize(internal,internal,int4)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
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',
|
||||
@@ -82,10 +80,10 @@ insert into pg_ts_dict select
|
||||
'English Stemmer. Snowball.'
|
||||
;
|
||||
|
||||
CREATE FUNCTION snb_ru_init_koi8(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
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',
|
||||
@@ -94,11 +92,11 @@ insert into pg_ts_dict select
|
||||
'snb_lexize(internal,internal,int4)',
|
||||
'Russian Stemmer. Snowball. KOI8 Encoding'
|
||||
;
|
||||
|
||||
CREATE FUNCTION snb_ru_init_utf8(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
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',
|
||||
@@ -107,17 +105,17 @@ insert into pg_ts_dict select
|
||||
'snb_lexize(internal,internal,int4)',
|
||||
'Russian Stemmer. Snowball. UTF8 Encoding'
|
||||
;
|
||||
|
||||
CREATE FUNCTION spell_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE OR REPLACE FUNCTION spell_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION spell_lexize(internal,internal,int4)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
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',
|
||||
@@ -127,16 +125,16 @@ insert into pg_ts_dict select
|
||||
'ISpell interface. Must have .dict and .aff files'
|
||||
;
|
||||
|
||||
CREATE FUNCTION syn_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION syn_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION syn_lexize(internal,internal,int4)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
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',
|
||||
@@ -146,16 +144,16 @@ insert into pg_ts_dict select
|
||||
'Example of synonym dictionary'
|
||||
;
|
||||
|
||||
CREATE FUNCTION thesaurus_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION thesaurus_init(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION thesaurus_lexize(internal,internal,int4,internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
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',
|
||||
@@ -178,84 +176,84 @@ CREATE TABLE pg_ts_parser (
|
||||
|
||||
--sql-level interface
|
||||
CREATE TYPE tokentype
|
||||
as (tokid int4, alias text, descr text);
|
||||
AS (tokid int4, alias text, descr text);
|
||||
|
||||
CREATE FUNCTION token_type(int4)
|
||||
RETURNS setof tokentype
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
CREATE OR REPLACE FUNCTION token_type(int4)
|
||||
RETURNS setof tokentype
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE 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(text)
|
||||
RETURNS setof tokentype
|
||||
as 'MODULE_PATHNAME', 'token_type_byname'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION token_type()
|
||||
RETURNS setof tokentype
|
||||
as 'MODULE_PATHNAME', 'token_type_current'
|
||||
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 FUNCTION set_curprs(int)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME'
|
||||
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 FUNCTION set_curprs(text)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME', 'set_curprs_byname'
|
||||
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);
|
||||
AS (tokid int4, token text);
|
||||
|
||||
CREATE FUNCTION parse(oid,text)
|
||||
RETURNS setof tokenout
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
CREATE OR REPLACE FUNCTION parse(oid,text)
|
||||
RETURNS setof tokenout
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE 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,text)
|
||||
RETURNS setof tokenout
|
||||
as 'MODULE_PATHNAME', 'parse_byname'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION parse(text)
|
||||
RETURNS setof tokenout
|
||||
as 'MODULE_PATHNAME', 'parse_current'
|
||||
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 FUNCTION prsd_start(internal,int4)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION prsd_start(internal,int4)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION prsd_getlexeme(internal,internal,internal)
|
||||
RETURNS int4
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION prsd_getlexeme(internal,internal,internal)
|
||||
RETURNS int4
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION prsd_end(internal)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION prsd_end(internal)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION prsd_lextype(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
CREATE OR REPLACE FUNCTION prsd_lextype(internal)
|
||||
RETURNS internal
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION prsd_headline(internal,internal,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',
|
||||
@@ -282,23 +280,23 @@ CREATE TABLE pg_ts_cfgmap (
|
||||
primary key (ts_name,tok_alias)
|
||||
) with oids;
|
||||
|
||||
CREATE FUNCTION set_curcfg(int)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
CREATE OR REPLACE FUNCTION set_curcfg(int)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION set_curcfg(text)
|
||||
RETURNS void
|
||||
as 'MODULE_PATHNAME', 'set_curcfg_byname'
|
||||
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 FUNCTION show_curcfg()
|
||||
RETURNS oid
|
||||
as 'MODULE_PATHNAME'
|
||||
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');
|
||||
@@ -383,12 +381,12 @@ insert into pg_ts_cfgmap values ('simple', 'int', '{simple}');
|
||||
insert into pg_ts_cfgmap values ('simple', 'uint', '{simple}');
|
||||
|
||||
--tsvector type
|
||||
CREATE FUNCTION tsvector_in(cstring)
|
||||
CREATE OR REPLACE FUNCTION tsvector_in(cstring)
|
||||
RETURNS tsvector
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION tsvector_out(tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_out(tsvector)
|
||||
RETURNS cstring
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
@@ -400,37 +398,37 @@ CREATE TYPE tsvector (
|
||||
STORAGE = extended
|
||||
);
|
||||
|
||||
CREATE FUNCTION length(tsvector)
|
||||
CREATE OR REPLACE FUNCTION length(tsvector)
|
||||
RETURNS int4
|
||||
AS 'MODULE_PATHNAME', 'tsvector_length'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION to_tsvector(oid, text)
|
||||
CREATE OR REPLACE FUNCTION to_tsvector(oid, text)
|
||||
RETURNS tsvector
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION to_tsvector(text, text)
|
||||
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 FUNCTION to_tsvector(text)
|
||||
CREATE OR REPLACE FUNCTION to_tsvector(text)
|
||||
RETURNS tsvector
|
||||
AS 'MODULE_PATHNAME', 'to_tsvector_current'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION strip(tsvector)
|
||||
CREATE OR REPLACE FUNCTION strip(tsvector)
|
||||
RETURNS tsvector
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION setweight(tsvector,"char")
|
||||
CREATE OR REPLACE FUNCTION setweight(tsvector,"char")
|
||||
RETURNS tsvector
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION concat(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION concat(tsvector,tsvector)
|
||||
RETURNS tsvector
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
@@ -442,12 +440,12 @@ CREATE OPERATOR || (
|
||||
);
|
||||
|
||||
--query type
|
||||
CREATE FUNCTION tsquery_in(cstring)
|
||||
CREATE OR REPLACE FUNCTION tsquery_in(cstring)
|
||||
RETURNS tsquery
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION tsquery_out(tsquery)
|
||||
CREATE OR REPLACE FUNCTION tsquery_out(tsquery)
|
||||
RETURNS cstring
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
@@ -459,50 +457,50 @@ CREATE TYPE tsquery (
|
||||
OUTPUT = tsquery_out
|
||||
);
|
||||
|
||||
CREATE FUNCTION querytree(tsquery)
|
||||
CREATE OR REPLACE FUNCTION querytree(tsquery)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'tsquerytree'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION to_tsquery(oid, text)
|
||||
CREATE OR REPLACE FUNCTION to_tsquery(oid, text)
|
||||
RETURNS tsquery
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION to_tsquery(text, text)
|
||||
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 FUNCTION to_tsquery(text)
|
||||
CREATE OR REPLACE FUNCTION to_tsquery(text)
|
||||
RETURNS tsquery
|
||||
AS 'MODULE_PATHNAME','to_tsquery_current'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION plainto_tsquery(oid, text)
|
||||
CREATE OR REPLACE FUNCTION plainto_tsquery(oid, text)
|
||||
RETURNS tsquery
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION plainto_tsquery(text, text)
|
||||
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 FUNCTION plainto_tsquery(text)
|
||||
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 FUNCTION exectsq(tsvector, tsquery)
|
||||
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 FUNCTION rexectsq(tsquery, tsvector)
|
||||
CREATE OR REPLACE FUNCTION rexectsq(tsquery, tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
@@ -527,90 +525,90 @@ CREATE OPERATOR @@ (
|
||||
);
|
||||
|
||||
--Trigger
|
||||
CREATE FUNCTION tsearch2()
|
||||
CREATE OR REPLACE FUNCTION tsearch2()
|
||||
RETURNS trigger
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
--Relevation
|
||||
CREATE FUNCTION rank(float4[], tsvector, tsquery)
|
||||
CREATE OR REPLACE FUNCTION rank(float4[], tsvector, tsquery)
|
||||
RETURNS float4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION rank(float4[], tsvector, tsquery, int4)
|
||||
CREATE OR REPLACE FUNCTION rank(float4[], tsvector, tsquery, int4)
|
||||
RETURNS float4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION rank(tsvector, tsquery)
|
||||
CREATE OR REPLACE FUNCTION rank(tsvector, tsquery)
|
||||
RETURNS float4
|
||||
AS 'MODULE_PATHNAME', 'rank_def'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION rank(tsvector, tsquery, int4)
|
||||
CREATE OR REPLACE FUNCTION rank(tsvector, tsquery, int4)
|
||||
RETURNS float4
|
||||
AS 'MODULE_PATHNAME', 'rank_def'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION rank_cd(float4[], tsvector, tsquery)
|
||||
CREATE OR REPLACE FUNCTION rank_cd(float4[], tsvector, tsquery)
|
||||
RETURNS float4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION rank_cd(float4[], tsvector, tsquery, int4)
|
||||
CREATE OR REPLACE FUNCTION rank_cd(float4[], tsvector, tsquery, int4)
|
||||
RETURNS float4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION rank_cd(tsvector, tsquery)
|
||||
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 FUNCTION rank_cd(tsvector, tsquery, int4)
|
||||
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 FUNCTION headline(oid, text, tsquery, text)
|
||||
CREATE OR REPLACE FUNCTION headline(oid, text, tsquery, text)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'headline'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION headline(oid, text, tsquery)
|
||||
CREATE OR REPLACE FUNCTION headline(oid, text, tsquery)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'headline'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION headline(text, text, tsquery, text)
|
||||
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 FUNCTION headline(text, text, tsquery)
|
||||
CREATE OR REPLACE FUNCTION headline(text, text, tsquery)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'headline_byname'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION headline(text, tsquery, text)
|
||||
CREATE OR REPLACE FUNCTION headline(text, tsquery, text)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'headline_current'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION headline(text, tsquery)
|
||||
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 FUNCTION gtsvector_in(cstring)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_in(cstring)
|
||||
RETURNS gtsvector
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION gtsvector_out(gtsvector)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_out(gtsvector)
|
||||
RETURNS cstring
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
@@ -622,37 +620,37 @@ CREATE TYPE gtsvector (
|
||||
);
|
||||
|
||||
-- support FUNCTIONs
|
||||
CREATE FUNCTION gtsvector_consistent(gtsvector,internal,int4)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_consistent(gtsvector,internal,int4)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsvector_compress(internal)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_compress(internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsvector_decompress(internal)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_decompress(internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsvector_penalty(internal,internal,internal)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_penalty(internal,internal,internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION gtsvector_picksplit(internal, internal)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_picksplit(internal, internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsvector_union(internal, internal)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_union(internal, internal)
|
||||
RETURNS _int4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsvector_same(gtsvector, gtsvector, internal)
|
||||
CREATE OR REPLACE FUNCTION gtsvector_same(gtsvector, gtsvector, internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
@@ -674,14 +672,14 @@ AS
|
||||
|
||||
--stat info
|
||||
CREATE TYPE statinfo
|
||||
as (word text, ndoc int4, nentry int4);
|
||||
AS (word text, ndoc int4, nentry int4);
|
||||
|
||||
--CREATE FUNCTION tsstat_in(cstring)
|
||||
--CREATE OR REPLACE FUNCTION tsstat_in(cstring)
|
||||
--RETURNS tsstat
|
||||
--AS 'MODULE_PATHNAME'
|
||||
--LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
--
|
||||
--CREATE FUNCTION tsstat_out(tsstat)
|
||||
--CREATE OR REPLACE FUNCTION tsstat_out(tsstat)
|
||||
--RETURNS cstring
|
||||
--AS 'MODULE_PATHNAME'
|
||||
--LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
@@ -693,12 +691,12 @@ CREATE TYPE statinfo
|
||||
-- STORAGE = plain
|
||||
--);
|
||||
--
|
||||
--CREATE FUNCTION ts_accum(tsstat,tsvector)
|
||||
--CREATE OR REPLACE FUNCTION ts_accum(tsstat,tsvector)
|
||||
--RETURNS tsstat
|
||||
--AS 'MODULE_PATHNAME'
|
||||
--LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
--
|
||||
--CREATE FUNCTION ts_accum_finish(tsstat)
|
||||
--CREATE OR REPLACE FUNCTION ts_accum_finish(tsstat)
|
||||
-- RETURNS setof statinfo
|
||||
-- as 'MODULE_PATHNAME'
|
||||
-- LANGUAGE C
|
||||
@@ -712,27 +710,27 @@ CREATE TYPE statinfo
|
||||
-- initcond = ''
|
||||
--);
|
||||
|
||||
CREATE FUNCTION stat(text)
|
||||
RETURNS setof statinfo
|
||||
as 'MODULE_PATHNAME', 'ts_stat'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
CREATE OR REPLACE FUNCTION stat(text)
|
||||
RETURNS setof statinfo
|
||||
as 'MODULE_PATHNAME', 'ts_stat'
|
||||
LANGUAGE C
|
||||
RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION stat(text,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 FUNCTION reset_tsearch()
|
||||
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 FUNCTION get_covers(tsvector,tsquery)
|
||||
CREATE OR REPLACE FUNCTION get_covers(tsvector,tsquery)
|
||||
RETURNS text
|
||||
as 'MODULE_PATHNAME'
|
||||
LANGUAGE C
|
||||
@@ -748,12 +746,12 @@ create type tsdebug as (
|
||||
"tsvector" tsvector
|
||||
);
|
||||
|
||||
CREATE FUNCTION _get_parser_from_curcfg()
|
||||
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 FUNCTION ts_debug(text)
|
||||
CREATE OR REPLACE FUNCTION ts_debug(text)
|
||||
RETURNS setof tsdebug as '
|
||||
select
|
||||
m.ts_name,
|
||||
@@ -775,37 +773,37 @@ where
|
||||
' LANGUAGE SQL RETURNS NULL ON NULL INPUT;
|
||||
|
||||
--compare functions
|
||||
CREATE FUNCTION tsvector_cmp(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_cmp(tsvector,tsvector)
|
||||
RETURNS int4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION tsvector_lt(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_lt(tsvector,tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION tsvector_le(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_le(tsvector,tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION tsvector_eq(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_eq(tsvector,tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION tsvector_ge(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_ge(tsvector,tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION tsvector_gt(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_gt(tsvector,tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
|
||||
CREATE FUNCTION tsvector_ne(tsvector,tsvector)
|
||||
CREATE OR REPLACE FUNCTION tsvector_ne(tsvector,tsvector)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;
|
||||
@@ -1119,12 +1117,12 @@ CREATE OPERATOR ~ (
|
||||
|
||||
-----------gist support of rewrite------------------
|
||||
|
||||
CREATE FUNCTION gtsq_in(cstring)
|
||||
CREATE OR REPLACE FUNCTION gtsq_in(cstring)
|
||||
RETURNS gtsq
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION gtsq_out(gtsq)
|
||||
CREATE OR REPLACE FUNCTION gtsq_out(gtsq)
|
||||
RETURNS cstring
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
@@ -1135,37 +1133,37 @@ CREATE TYPE gtsq (
|
||||
OUTPUT = gtsq_out
|
||||
);
|
||||
|
||||
CREATE FUNCTION gtsq_consistent(gtsq,internal,int4)
|
||||
CREATE OR REPLACE FUNCTION gtsq_consistent(gtsq,internal,int4)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsq_compress(internal)
|
||||
CREATE OR REPLACE FUNCTION gtsq_compress(internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsq_decompress(internal)
|
||||
CREATE OR REPLACE FUNCTION gtsq_decompress(internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsq_penalty(internal,internal,internal)
|
||||
CREATE OR REPLACE FUNCTION gtsq_penalty(internal,internal,internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION gtsq_picksplit(internal, internal)
|
||||
CREATE OR REPLACE FUNCTION gtsq_picksplit(internal, internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsq_union(bytea, internal)
|
||||
CREATE OR REPLACE FUNCTION gtsq_union(bytea, internal)
|
||||
RETURNS _int4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
|
||||
CREATE FUNCTION gtsq_same(gtsq, gtsq, internal)
|
||||
CREATE OR REPLACE FUNCTION gtsq_same(gtsq, gtsq, internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C;
|
||||
@@ -1187,17 +1185,17 @@ AS
|
||||
STORAGE gtsq;
|
||||
|
||||
--GIN support function
|
||||
CREATE FUNCTION gin_extract_tsvector(tsvector,internal)
|
||||
CREATE OR REPLACE FUNCTION gin_extract_tsvector(tsvector,internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION gin_extract_tsquery(tsquery,internal,internal)
|
||||
CREATE OR REPLACE FUNCTION gin_extract_tsquery(tsquery,internal,internal)
|
||||
RETURNS internal
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
|
||||
CREATE FUNCTION gin_ts_consistent(internal,internal,tsquery)
|
||||
CREATE OR REPLACE FUNCTION gin_ts_consistent(internal,internal,tsquery)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C RETURNS NULL ON NULL INPUT;
|
||||
@@ -1240,4 +1238,3 @@ AS
|
||||
--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}';
|
||||
END;
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
BEGIN;
|
||||
|
||||
--Be careful !!!
|
||||
--script drops all indices, triggers and columns with types defined
|
||||
--in tsearch2.sql
|
||||
|
||||
-- Adjust this setting to control where the objects get dropped.
|
||||
SET search_path = public;
|
||||
|
||||
DROP OPERATOR CLASS gin_tsvector_ops USING gin CASCADE;
|
||||
|
||||
@@ -71,5 +67,3 @@ DROP FUNCTION gtsq_union(bytea, internal);
|
||||
DROP FUNCTION reset_tsearch();
|
||||
DROP FUNCTION tsearch2() CASCADE;
|
||||
DROP FUNCTION _get_parser_from_curcfg();
|
||||
|
||||
END;
|
||||
|
||||
Reference in New Issue
Block a user