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.
-/* $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;
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,
-/* $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;
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);
-<!-- $PostgreSQL: pgsql/doc/src/sgml/hstore.sgml,v 1.2.2.1 2009/03/15 22:05:25 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/hstore.sgml,v 1.2.2.2 2010/06/22 11:36:36 rhaas Exp $ -->
<sect1 id="hstore">
<title>hstore</title>
datatypes!)
</para>
+ <note>
+ <para>
+ The <literal>=></> operator is deprecated and may be removed in a
+ future release. Use the <literal>hstore(text, text)</literal> function
+ instead.
+ </para>
+ </note>
+
<table id="hstore-func-table">
<title><type>hstore</> Functions</title>
</thead>
<tbody>
+ <row>
+ <entry><function>hstore(text, text)</function></entry>
+ <entry><type>hstore</type></entry>
+ <entry>make single-item <type>hstore</></entry>
+ <entry><literal>hstore('a', 'b')</literal></entry>
+ <entry><literal>"a"=>"b"</literal></entry>
+ </row>
+
<row>
<entry><function>akeys(hstore)</function></entry>
<entry><type>text[]</type></entry>