More sensible character_octet_length
[PostgreSQL.git] / contrib / pg_trgm / pg_trgm.sql.in
blob04ba7517bfbdfa279d8021b8d6fc4fbf9b673c4b
1 /* $PostgreSQL$ */
3 -- Adjust this setting to control where the objects get created.
4 SET search_path = public;
6 CREATE OR REPLACE FUNCTION set_limit(float4)
7 RETURNS float4
8 AS 'MODULE_PATHNAME'
9 LANGUAGE C STRICT VOLATILE;
11 CREATE OR REPLACE FUNCTION show_limit()
12 RETURNS float4
13 AS 'MODULE_PATHNAME'
14 LANGUAGE C STRICT STABLE;
16 CREATE OR REPLACE FUNCTION show_trgm(text)
17 RETURNS _text
18 AS 'MODULE_PATHNAME'
19 LANGUAGE C STRICT IMMUTABLE;
21 CREATE OR REPLACE FUNCTION similarity(text,text)
22 RETURNS float4
23 AS 'MODULE_PATHNAME'
24 LANGUAGE C STRICT IMMUTABLE;
26 CREATE OR REPLACE FUNCTION similarity_op(text,text)
27 RETURNS bool
28 AS 'MODULE_PATHNAME'
29 LANGUAGE C STRICT STABLE;
31 CREATE OPERATOR % (
32 LEFTARG = text,
33 RIGHTARG = text,
34 PROCEDURE = similarity_op,
35 COMMUTATOR = '%',
36 RESTRICT = contsel,
37 JOIN = contjoinsel
40 -- gist key
41 CREATE OR REPLACE FUNCTION gtrgm_in(cstring)
42 RETURNS gtrgm
43 AS 'MODULE_PATHNAME'
44 LANGUAGE C STRICT;
46 CREATE OR REPLACE FUNCTION gtrgm_out(gtrgm)
47 RETURNS cstring
48 AS 'MODULE_PATHNAME'
49 LANGUAGE C STRICT;
51 CREATE TYPE gtrgm (
52 INTERNALLENGTH = -1,
53 INPUT = gtrgm_in,
54 OUTPUT = gtrgm_out
57 -- support functions for gist
58 CREATE OR REPLACE FUNCTION gtrgm_consistent(internal,text,int,oid,internal)
59 RETURNS bool
60 AS 'MODULE_PATHNAME'
61 LANGUAGE C IMMUTABLE STRICT;
63 CREATE OR REPLACE FUNCTION gtrgm_compress(internal)
64 RETURNS internal
65 AS 'MODULE_PATHNAME'
66 LANGUAGE C IMMUTABLE STRICT;
68 CREATE OR REPLACE FUNCTION gtrgm_decompress(internal)
69 RETURNS internal
70 AS 'MODULE_PATHNAME'
71 LANGUAGE C IMMUTABLE STRICT;
73 CREATE OR REPLACE FUNCTION gtrgm_penalty(internal,internal,internal)
74 RETURNS internal
75 AS 'MODULE_PATHNAME'
76 LANGUAGE C IMMUTABLE STRICT;
78 CREATE OR REPLACE FUNCTION gtrgm_picksplit(internal, internal)
79 RETURNS internal
80 AS 'MODULE_PATHNAME'
81 LANGUAGE C IMMUTABLE STRICT;
83 CREATE OR REPLACE FUNCTION gtrgm_union(bytea, internal)
84 RETURNS _int4
85 AS 'MODULE_PATHNAME'
86 LANGUAGE C IMMUTABLE STRICT;
88 CREATE OR REPLACE FUNCTION gtrgm_same(gtrgm, gtrgm, internal)
89 RETURNS internal
90 AS 'MODULE_PATHNAME'
91 LANGUAGE C IMMUTABLE STRICT;
93 -- create the operator class for gist
94 CREATE OPERATOR CLASS gist_trgm_ops
95 FOR TYPE text USING gist
97 OPERATOR 1 % (text, text),
98 FUNCTION 1 gtrgm_consistent (internal, text, int, oid, internal),
99 FUNCTION 2 gtrgm_union (bytea, internal),
100 FUNCTION 3 gtrgm_compress (internal),
101 FUNCTION 4 gtrgm_decompress (internal),
102 FUNCTION 5 gtrgm_penalty (internal, internal, internal),
103 FUNCTION 6 gtrgm_picksplit (internal, internal),
104 FUNCTION 7 gtrgm_same (gtrgm, gtrgm, internal),
105 STORAGE gtrgm;
107 -- support functions for gin
108 CREATE OR REPLACE FUNCTION gin_extract_trgm(text, internal)
109 RETURNS internal
110 AS 'MODULE_PATHNAME'
111 LANGUAGE C IMMUTABLE STRICT;
113 CREATE OR REPLACE FUNCTION gin_extract_trgm(text, internal, int2, internal, internal)
114 RETURNS internal
115 AS 'MODULE_PATHNAME'
116 LANGUAGE C IMMUTABLE STRICT;
118 CREATE OR REPLACE FUNCTION gin_trgm_consistent(internal, int2, text, int4, internal, internal)
119 RETURNS bool
120 AS 'MODULE_PATHNAME'
121 LANGUAGE C IMMUTABLE STRICT;
123 -- create the operator class for gin
124 CREATE OPERATOR CLASS gin_trgm_ops
125 FOR TYPE text USING gin
127 OPERATOR 1 % (text, text),
128 FUNCTION 1 btint4cmp (int4, int4),
129 FUNCTION 2 gin_extract_trgm (text, internal),
130 FUNCTION 3 gin_extract_trgm (text, internal, int2, internal, internal),
131 FUNCTION 4 gin_trgm_consistent (internal, int2, text, int4, internal, internal),
132 STORAGE int4;