4cbaa5af16c0f874fbe4a7d37ace7fb20ed57fa3
[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)
10 RETURNS int32
11 AS 'MODULE_PATHNAME'
12 LANGUAGE C IMMUTABLE;
13
14 CREATE OR REPLACE FUNCTION wildcmp_prefix(text, text, int2)
15 RETURNS int32
16 AS 'MODULE_PATHNAME'
17 LANGUAGE C IMMUTABLE;
18
19 CREATE OR REPLACE FUNCTION gin_extract_wildcard(text, internal, int2, internal)
20 RETURNS internal
21 AS 'MODULE_PATHNAME'
22 LANGUAGE C IMMUTABLE;
23
24 CREATE OR REPLACE FUNCTION gin_consistent_wildcard(internal, int2, text)
25 RETURNS internal
26 AS 'MODULE_PATHNAME'
27 LANGUAGE C IMMUTABLE;
28
29 CREATE OPERATOR CLASS wildcard_ops
30 FOR TYPE text USING gin
31 AS
32     OPERATOR        1       ~~,
33         FUNCTION        1       wildcmp(text,text),
34         FUNCTION        2       gin_extract_permuted(text, internal),
35         FUNCTION        3       gin_extract_wildcard(text, internal, int2, internal),
36         FUNCTION        4       gin_consistent_wildcard(internal, int2, text),
37         FUNCTION        5       wildcmp_prefix(text,text,int2),
38 STORAGE         text;
39
40
41 --debug function
42 CREATE OR REPLACE FUNCTION permute(text)
43 RETURNS _text
44 AS 'MODULE_PATHNAME'
45 LANGUAGE C STRICT IMMUTABLE;
46
47 COMMIT;