diff options
| author | Tom Lane | 2009-03-25 22:19:02 +0000 |
|---|---|---|
| committer | Tom Lane | 2009-03-25 22:19:02 +0000 |
| commit | 87b8db37740bb044cb3b6a6439e656217869fd57 (patch) | |
| tree | c59eb0167c37ed34b9b24e718b2357bec48dcce1 /contrib/hstore | |
| parent | 050a78dd3da8d3711197bda429ed7733bbf1b291 (diff) | |
Adjust the APIs for GIN opclass support functions to allow the extractQuery()
method to pass extra data to the consistent() and comparePartial() methods.
This is the core infrastructure needed to support the soon-to-appear
contrib/btree_gin module. The APIs are still upward compatible with the
definitions used in 8.3 and before, although *not* with the previous 8.4devel
function definitions.
catversion bump for changes in pg_proc entries (although these are just
cosmetic, since GIN doesn't actually look at the function signature before
calling it...)
Teodor Sigaev and Oleg Bartunov
Diffstat (limited to 'contrib/hstore')
| -rw-r--r-- | contrib/hstore/hstore.sql.in | 10 | ||||
| -rw-r--r-- | contrib/hstore/hstore_gin.c | 6 | ||||
| -rw-r--r-- | contrib/hstore/uninstall_hstore.sql | 6 |
3 files changed, 12 insertions, 10 deletions
diff --git a/contrib/hstore/hstore.sql.in b/contrib/hstore/hstore.sql.in index 1b22ff63c56..3487a48459a 100644 --- a/contrib/hstore/hstore.sql.in +++ b/contrib/hstore/hstore.sql.in @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/contrib/hstore/hstore.sql.in,v 1.9 2008/04/14 17:05:32 tgl Exp $ */ +/* $PostgreSQL: pgsql/contrib/hstore/hstore.sql.in,v 1.10 2009/03/25 22:19:01 tgl Exp $ */ -- Adjust this setting to control where the objects get created. SET search_path = public; @@ -244,12 +244,12 @@ RETURNS internal AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE; -CREATE OR REPLACE FUNCTION gin_extract_hstore_query(internal, internal, int2) +CREATE OR REPLACE FUNCTION gin_extract_hstore_query(internal, internal, int2, internal, internal) RETURNS internal AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE; -CREATE OR REPLACE FUNCTION gin_consistent_hstore(internal, int2, internal, internal) +CREATE OR REPLACE FUNCTION gin_consistent_hstore(internal, int2, internal, int4, internal, internal) RETURNS bool AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE; @@ -261,6 +261,6 @@ AS OPERATOR 9 ?(hstore,text), FUNCTION 1 bttextcmp(text,text), FUNCTION 2 gin_extract_hstore(internal, internal), - FUNCTION 3 gin_extract_hstore_query(internal, internal, int2), - FUNCTION 4 gin_consistent_hstore(internal, int2, internal, internal), + FUNCTION 3 gin_extract_hstore_query(internal, internal, int2, internal, internal), + FUNCTION 4 gin_consistent_hstore(internal, int2, internal, int4, internal, internal), STORAGE text; diff --git a/contrib/hstore/hstore_gin.c b/contrib/hstore/hstore_gin.c index d40b2e5bb8f..01d7258f8f9 100644 --- a/contrib/hstore/hstore_gin.c +++ b/contrib/hstore/hstore_gin.c @@ -1,5 +1,5 @@ /* - * $PostgreSQL: pgsql/contrib/hstore/hstore_gin.c,v 1.4 2008/05/12 00:00:42 alvherre Exp $ + * $PostgreSQL: pgsql/contrib/hstore/hstore_gin.c,v 1.5 2009/03/25 22:19:01 tgl Exp $ */ #include "postgres.h" @@ -122,7 +122,9 @@ gin_consistent_hstore(PG_FUNCTION_ARGS) bool *check = (bool *) PG_GETARG_POINTER(0); StrategyNumber strategy = PG_GETARG_UINT16(1); HStore *query = PG_GETARG_HS(2); - bool *recheck = (bool *) PG_GETARG_POINTER(3); + /* int32 nkeys = PG_GETARG_INT32(3); */ + /* Pointer *extra_data = (Pointer *) PG_GETARG_POINTER(4); */ + bool *recheck = (bool *) PG_GETARG_POINTER(5); bool res = true; if (strategy == HStoreContainsStrategyNumber) diff --git a/contrib/hstore/uninstall_hstore.sql b/contrib/hstore/uninstall_hstore.sql index 84d567fcadf..17782d5c058 100644 --- a/contrib/hstore/uninstall_hstore.sql +++ b/contrib/hstore/uninstall_hstore.sql @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/contrib/hstore/uninstall_hstore.sql,v 1.7 2008/04/14 17:05:32 tgl Exp $ */ +/* $PostgreSQL: pgsql/contrib/hstore/uninstall_hstore.sql,v 1.8 2009/03/25 22:19:01 tgl Exp $ */ -- Adjust this setting to control where the objects get dropped. SET search_path = public; @@ -38,9 +38,9 @@ DROP FUNCTION ghstore_picksplit(internal, internal); DROP FUNCTION ghstore_union(internal, internal); DROP FUNCTION ghstore_same(internal, internal, internal); DROP FUNCTION ghstore_consistent(internal,internal,int,oid,internal); -DROP FUNCTION gin_consistent_hstore(internal, int2, internal, internal); +DROP FUNCTION gin_consistent_hstore(internal, int2, internal, int4, internal, internal); DROP FUNCTION gin_extract_hstore(internal, internal); -DROP FUNCTION gin_extract_hstore_query(internal, internal, smallint); +DROP FUNCTION gin_extract_hstore_query(internal, internal, smallint, internal, internal); DROP TYPE hstore CASCADE; DROP TYPE ghstore CASCADE; |
