a8c5cdbade18730840afd96faa74b2e943fb509f
[wildspeed.git] / wildspeed.sql.in
1 BEGIN;
2
3 -- support functions for gin
4 CREATE OR REPLACE FUNCTION gin_extract_permuted(text, internal)
5 RETURNS internal
6 AS 'MODULE_PATHNAME'
7 LANGUAGE C IMMUTABLE;
8
9 CREATE OR REPLACE FUNCTION wildcmp(text, text, bool)
10 RETURNS int32
11 AS 'MODULE_PATHNAME'
12 LANGUAGE C IMMUTABLE;
13
14 CREATE OR REPLACE FUNCTION gin_extract_wildcard(text, internal, int2, internal)
15 RETURNS internal
16 AS 'MODULE_PATHNAME'
17 LANGUAGE C IMMUTABLE;
18
19 CREATE OR REPLACE FUNCTION gin_consistent_wildcard(internal, int2, text)
20 RETURNS internal
21 AS 'MODULE_PATHNAME'
22 LANGUAGE C IMMUTABLE;
23
24 CREATE OPERATOR CLASS wildcard_ops
25 FOR TYPE text USING gin
26 AS
27     OPERATOR        1       ~~ RECHECK,
28         FUNCTION        1       wildcmp(text,text,bool),
29         FUNCTION        2       gin_extract_permuted(text, internal),
30         FUNCTION        3       gin_extract_wildcard(text, internal, int2, internal),
31         FUNCTION        4       gin_consistent_wildcard(internal, int2, text),
32 STORAGE         text;
33
34
35 --debug function
36 CREATE OR REPLACE FUNCTION permute(text)
37 RETURNS _text
38 AS 'MODULE_PATHNAME'
39 LANGUAGE C STRICT IMMUTABLE;
40
41 COMMIT;