From 8ce3f26fab743be87993ce9f688ac150a34d554c Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 22 Jun 2010 11:36:36 +0000 Subject: [PATCH] Deprecate the use of => as an operator name. In HEAD, emit a warning when an operator named => is defined. In both HEAD and the backbranches (except in 8.2, where contrib modules do not have documentation), document that hstore's text => text operator may be removed in a future release, and encourage the use of the hstore(text, text) function instead. This function only exists in HEAD (previously, it was called tconvert), so backpatch it back to 8.2, when hstore was added. Per discussion. --- contrib/hstore/hstore.sql.in | 8 +++++++- contrib/hstore/uninstall_hstore.sql | 3 ++- doc/src/sgml/hstore.sgml | 18 +++++++++++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/contrib/hstore/hstore.sql.in b/contrib/hstore/hstore.sql.in index fb39967866..3fa3af3ee2 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.8 2007/11/13 04:24:28 momjian Exp $ */ +/* $PostgreSQL: pgsql/contrib/hstore/hstore.sql.in,v 1.8.2.1 2010/06/22 11:36:36 rhaas Exp $ */ -- Adjust this setting to control where the objects get created. SET search_path = public; @@ -129,6 +129,12 @@ RETURNS hstore AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE; +-- For forward compatibility with PostgreSQL >= 9.0 +CREATE OR REPLACE FUNCTION hstore(text,text) +RETURNS hstore +AS 'MODULE_PATHNAME', 'tconvert' +LANGUAGE C IMMUTABLE; -- not STRICT + CREATE OPERATOR => ( LEFTARG = text, RIGHTARG = text, diff --git a/contrib/hstore/uninstall_hstore.sql b/contrib/hstore/uninstall_hstore.sql index d9e08927a5..ae2676a1b0 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.6 2007/11/13 04:24:28 momjian Exp $ */ +/* $PostgreSQL: pgsql/contrib/hstore/uninstall_hstore.sql,v 1.6.2.1 2010/06/22 11:36:36 rhaas Exp $ */ -- Adjust this setting to control where the objects get dropped. SET search_path = public; @@ -26,6 +26,7 @@ DROP FUNCTION hs_concat(hstore,hstore); DROP FUNCTION hs_contains(hstore,hstore); DROP FUNCTION hs_contained(hstore,hstore); DROP FUNCTION tconvert(text,text); +DROP FUNCTION hstore(text,text); DROP FUNCTION akeys(hstore); DROP FUNCTION avals(hstore); DROP FUNCTION skeys(hstore); diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index a3d82c970c..911e46f274 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -1,4 +1,4 @@ - + hstore @@ -134,6 +134,14 @@ datatypes!) + + + The => operator is deprecated and may be removed in a + future release. Use the hstore(text, text) function + instead. + + + <type>hstore</> Functions @@ -149,6 +157,14 @@ + + hstore(text, text) + hstore + make single-item hstore + hstore('a', 'b') + "a"=>"b" + + akeys(hstore) text[] -- 2.40.0