1/* contrib/pg_trgm/pg_trgm--1.3--1.4.sql */
2
3-- complain if script is sourced in psql, rather than via ALTER EXTENSION
4\echo Use "ALTER EXTENSION pg_trgm UPDATE TO '1.4'" to load this file. \quit
5
6CREATE FUNCTION strict_word_similarity(text,text)
7RETURNS float4
8AS 'MODULE_PATHNAME'
9LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
10
11CREATE FUNCTION strict_word_similarity_op(text,text)
12RETURNS bool
13AS 'MODULE_PATHNAME'
14LANGUAGE C STRICT STABLE PARALLEL SAFE;  -- stable because depends on pg_trgm.word_similarity_threshold
15
16CREATE FUNCTION strict_word_similarity_commutator_op(text,text)
17RETURNS bool
18AS 'MODULE_PATHNAME'
19LANGUAGE C STRICT STABLE PARALLEL SAFE;  -- stable because depends on pg_trgm.word_similarity_threshold
20
21CREATE OPERATOR <<% (
22        LEFTARG = text,
23        RIGHTARG = text,
24        PROCEDURE = strict_word_similarity_op,
25        COMMUTATOR = '%>>',
26        RESTRICT = contsel,
27        JOIN = contjoinsel
28);
29
30CREATE OPERATOR %>> (
31        LEFTARG = text,
32        RIGHTARG = text,
33        PROCEDURE = strict_word_similarity_commutator_op,
34        COMMUTATOR = '<<%',
35        RESTRICT = contsel,
36        JOIN = contjoinsel
37);
38
39CREATE FUNCTION strict_word_similarity_dist_op(text,text)
40RETURNS float4
41AS 'MODULE_PATHNAME'
42LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
43
44CREATE FUNCTION strict_word_similarity_dist_commutator_op(text,text)
45RETURNS float4
46AS 'MODULE_PATHNAME'
47LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
48
49CREATE OPERATOR <<<-> (
50        LEFTARG = text,
51        RIGHTARG = text,
52        PROCEDURE = strict_word_similarity_dist_op,
53        COMMUTATOR = '<->>>'
54);
55
56CREATE OPERATOR <->>> (
57        LEFTARG = text,
58        RIGHTARG = text,
59        PROCEDURE = strict_word_similarity_dist_commutator_op,
60        COMMUTATOR = '<<<->'
61);
62
63ALTER OPERATOR FAMILY gist_trgm_ops USING gist ADD
64        OPERATOR        9       %>> (text, text),
65        OPERATOR        10       <->>> (text, text) FOR ORDER BY pg_catalog.float_ops;
66
67ALTER OPERATOR FAMILY gin_trgm_ops USING gin ADD
68        OPERATOR        9       %>> (text, text);
69