1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/* contrib/citext/citext--1.4--1.5.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use "ALTER EXTENSION citext UPDATE TO '1.5'" to load this file. \quit
ALTER OPERATOR <= (citext, citext) SET (
RESTRICT = scalarlesel,
JOIN = scalarlejoinsel
);
ALTER OPERATOR >= (citext, citext) SET (
RESTRICT = scalargesel,
JOIN = scalargejoinsel
);
CREATE FUNCTION citext_pattern_lt( citext, citext )
RETURNS bool
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION citext_pattern_le( citext, citext )
RETURNS bool
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION citext_pattern_gt( citext, citext )
RETURNS bool
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE FUNCTION citext_pattern_ge( citext, citext )
RETURNS bool
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
CREATE OPERATOR ~<~ (
LEFTARG = CITEXT,
RIGHTARG = CITEXT,
NEGATOR = ~>=~,
COMMUTATOR = ~>~,
PROCEDURE = citext_pattern_lt,
RESTRICT = scalarltsel,
JOIN = scalarltjoinsel
);
CREATE OPERATOR ~<=~ (
LEFTARG = CITEXT,
RIGHTARG = CITEXT,
NEGATOR = ~>~,
COMMUTATOR = ~>=~,
PROCEDURE = citext_pattern_le,
RESTRICT = scalarltsel,
JOIN = scalarltjoinsel
);
CREATE OPERATOR ~>=~ (
LEFTARG = CITEXT,
RIGHTARG = CITEXT,
NEGATOR = ~<~,
COMMUTATOR = ~<=~,
PROCEDURE = citext_pattern_ge,
RESTRICT = scalargtsel,
JOIN = scalargtjoinsel
);
CREATE OPERATOR ~>~ (
LEFTARG = CITEXT,
RIGHTARG = CITEXT,
NEGATOR = ~<=~,
COMMUTATOR = ~<~,
PROCEDURE = citext_pattern_gt,
RESTRICT = scalargtsel,
JOIN = scalargtjoinsel
);
CREATE FUNCTION citext_pattern_cmp(citext, citext)
RETURNS int4
AS 'MODULE_PATHNAME'
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
CREATE OPERATOR CLASS citext_pattern_ops
FOR TYPE CITEXT USING btree AS
OPERATOR 1 ~<~ (citext, citext),
OPERATOR 2 ~<=~ (citext, citext),
OPERATOR 3 = (citext, citext),
OPERATOR 4 ~>=~ (citext, citext),
OPERATOR 5 ~>~ (citext, citext),
FUNCTION 1 citext_pattern_cmp(citext, citext);
|