diff options
| author | Tom Lane | 2002-08-22 00:01:51 +0000 |
|---|---|---|
| committer | Tom Lane | 2002-08-22 00:01:51 +0000 |
| commit | b663f3443ba096a06970214c3e83e79f6e570b84 (patch) | |
| tree | 049e26c1b02535c12bee6e60ba89cf1d42a41a72 /contrib/ltree | |
| parent | 606c9b9d4fafe9300d039c044edc9727c0ed43c9 (diff) | |
Add a bunch of pseudo-types to replace the behavior formerly associated
with OPAQUE, as per recent pghackers discussion. I still want to do some
more work on the 'cstring' pseudo-type, but I'm going to commit the bulk
of the changes now before the tree starts shifting under me ...
Diffstat (limited to 'contrib/ltree')
| -rw-r--r-- | contrib/ltree/ltree.sql.in | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/contrib/ltree/ltree.sql.in b/contrib/ltree/ltree.sql.in index 4e0f52ea1f..ad7f61472b 100644 --- a/contrib/ltree/ltree.sql.in +++ b/contrib/ltree/ltree.sql.in @@ -3,13 +3,13 @@ BEGIN; -- Adjust this setting to control where the objects get created. SET search_path = public; -CREATE FUNCTION ltree_in(opaque) -RETURNS opaque +CREATE FUNCTION ltree_in(cstring) +RETURNS ltree AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); -CREATE FUNCTION ltree_out(opaque) -RETURNS opaque +CREATE FUNCTION ltree_out(ltree) +RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); @@ -232,13 +232,13 @@ CREATE OPERATOR CLASS ltree_ops --lquery type -CREATE FUNCTION lquery_in(opaque) -RETURNS opaque +CREATE FUNCTION lquery_in(cstring) +RETURNS lquery AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); -CREATE FUNCTION lquery_out(opaque) -RETURNS opaque +CREATE FUNCTION lquery_out(lquery) +RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); @@ -284,13 +284,13 @@ CREATE OPERATOR ^~ ( RESTRICT = contsel, JOIN = contjoinsel ); -CREATE FUNCTION ltxtq_in(opaque) -RETURNS opaque +CREATE FUNCTION ltxtq_in(cstring) +RETURNS ltxtquery AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); -CREATE FUNCTION ltxtq_out(opaque) -RETURNS opaque +CREATE FUNCTION ltxtq_out(ltxtquery) +RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); @@ -339,13 +339,13 @@ CREATE OPERATOR ^@ ( ); --GiST support for ltree -CREATE FUNCTION ltree_gist_in(opaque) -RETURNS opaque +CREATE FUNCTION ltree_gist_in(cstring) +RETURNS ltree_gist AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); -CREATE FUNCTION ltree_gist_out(opaque) -RETURNS opaque +CREATE FUNCTION ltree_gist_out(ltree_gist) +RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'c' with (isstrict); @@ -357,13 +357,13 @@ CREATE TYPE ltree_gist ( ); -create function ltree_consistent(opaque,opaque,int2) returns bool as 'MODULE_PATHNAME' language 'C'; -create function ltree_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; -create function ltree_decompress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; -create function ltree_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict); -create function ltree_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; -create function ltree_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C'; -create function ltree_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; +create function ltree_consistent(internal,internal,int2) returns bool as 'MODULE_PATHNAME' language 'C'; +create function ltree_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C'; +create function ltree_decompress(internal) returns internal as 'MODULE_PATHNAME' language 'C'; +create function ltree_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with(isstrict); +create function ltree_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C'; +create function ltree_union(bytea, internal) returns int4 as 'MODULE_PATHNAME' language 'C'; +create function ltree_same(internal, internal, internal) returns internal as 'MODULE_PATHNAME' language 'C'; CREATE OPERATOR CLASS gist_ltree_ops DEFAULT FOR TYPE ltree USING gist AS @@ -378,13 +378,13 @@ CREATE OPERATOR CLASS gist_ltree_ops OPERATOR 13 ~ (lquery, ltree) , OPERATOR 14 @ (ltree, ltxtquery) , OPERATOR 15 @ (ltxtquery, ltree) , - FUNCTION 1 ltree_consistent (opaque, opaque, int2), - FUNCTION 2 ltree_union (bytea, opaque), - FUNCTION 3 ltree_compress (opaque), - FUNCTION 4 ltree_decompress (opaque), - FUNCTION 5 ltree_penalty (opaque, opaque, opaque), - FUNCTION 6 ltree_picksplit (opaque, opaque), - FUNCTION 7 ltree_same (opaque, opaque, opaque), + FUNCTION 1 ltree_consistent (internal, internal, int2), + FUNCTION 2 ltree_union (bytea, internal), + FUNCTION 3 ltree_compress (internal), + FUNCTION 4 ltree_decompress (internal), + FUNCTION 5 ltree_penalty (internal, internal, internal), + FUNCTION 6 ltree_picksplit (internal, internal), + FUNCTION 7 ltree_same (internal, internal, internal), STORAGE ltree_gist; @@ -566,12 +566,12 @@ CREATE OPERATOR ?@ ( ); --GiST support for ltree[] -create function _ltree_consistent(opaque,opaque,int2) returns bool as 'MODULE_PATHNAME' language 'C'; -create function _ltree_compress(opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; -create function _ltree_penalty(opaque,opaque,opaque) returns opaque as 'MODULE_PATHNAME' language 'C' with(isstrict); -create function _ltree_picksplit(opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; -create function _ltree_union(bytea, opaque) returns int4 as 'MODULE_PATHNAME' language 'C'; -create function _ltree_same(opaque, opaque, opaque) returns opaque as 'MODULE_PATHNAME' language 'C'; +create function _ltree_consistent(internal,internal,int2) returns bool as 'MODULE_PATHNAME' language 'C'; +create function _ltree_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C'; +create function _ltree_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with(isstrict); +create function _ltree_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C'; +create function _ltree_union(bytea, internal) returns int4 as 'MODULE_PATHNAME' language 'C'; +create function _ltree_same(internal, internal, internal) returns internal as 'MODULE_PATHNAME' language 'C'; CREATE OPERATOR CLASS gist__ltree_ops DEFAULT FOR TYPE _ltree USING gist AS @@ -581,13 +581,13 @@ CREATE OPERATOR CLASS gist__ltree_ops OPERATOR 13 ~ (lquery, _ltree) RECHECK , OPERATOR 14 @ (_ltree, ltxtquery) RECHECK , OPERATOR 15 @ (ltxtquery, _ltree) RECHECK , - FUNCTION 1 _ltree_consistent (opaque, opaque, int2), - FUNCTION 2 _ltree_union (bytea, opaque), - FUNCTION 3 _ltree_compress (opaque), - FUNCTION 4 ltree_decompress (opaque), - FUNCTION 5 _ltree_penalty (opaque, opaque, opaque), - FUNCTION 6 _ltree_picksplit (opaque, opaque), - FUNCTION 7 _ltree_same (opaque, opaque, opaque), + FUNCTION 1 _ltree_consistent (internal, internal, int2), + FUNCTION 2 _ltree_union (bytea, internal), + FUNCTION 3 _ltree_compress (internal), + FUNCTION 4 ltree_decompress (internal), + FUNCTION 5 _ltree_penalty (internal, internal, internal), + FUNCTION 6 _ltree_picksplit (internal, internal), + FUNCTION 7 _ltree_same (internal, internal, internal), STORAGE ltree_gist; |
