diff --git a/contrib/hstore/expected/hstore.out b/contrib/hstore/expected/hstore.out index 6a26bc1874ccee713b1fcc90ad9c2b89ab79140a..793318e185ea527e9ecb9f0d2507feaa49f16f2f 100644 --- a/contrib/hstore/expected/hstore.out +++ b/contrib/hstore/expected/hstore.out @@ -757,39 +757,39 @@ select pg_column_size('a=>g, b=>c'::hstore || ('b'=>'gf')) t (1 row) --- => arrays -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['g','h','i']; +-- % +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['g','h','i']; ?column? ---------- (1 row) -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b']; +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b']; ?column? -------------------- "b"=>"2", "c"=>"3" (1 row) -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['aa','b']; +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['aa','b']; ?column? --------------------- "b"=>"2", "aa"=>"1" (1 row) -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b','aa']; +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b','aa']; ?column? ------------------------------- "b"=>"2", "c"=>"3", "aa"=>"1" (1 row) -select pg_column_size(hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b']) +select pg_column_size(hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b']) = pg_column_size('b=>2, c=>3'::hstore); ?column? ---------- t (1 row) -select pg_column_size(hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b','aa']) +select pg_column_size(hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b','aa']) = pg_column_size('aa=>1, b=>2, c=>3'::hstore); ?column? ---------- diff --git a/contrib/hstore/hstore.sql.in b/contrib/hstore/hstore.sql.in index b04d32a22d3d1eed286a0c0b174305aeaf046e39..3cf4178afbd986b89aa1973b6de4483fa744c4cf 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.13 2010/06/15 19:48:30 rhaas Exp $ */ +/* $PostgreSQL: pgsql/contrib/hstore/hstore.sql.in,v 1.14 2010/06/18 03:52:02 rhaas Exp $ */ -- Adjust this setting to control where the objects get created. SET search_path = public; @@ -66,7 +66,7 @@ RETURNS hstore AS 'MODULE_PATHNAME','hstore_slice_to_hstore' LANGUAGE C STRICT IMMUTABLE; -CREATE OPERATOR => ( +CREATE OPERATOR % ( LEFTARG = hstore, RIGHTARG = text[], PROCEDURE = slice_hstore diff --git a/contrib/hstore/sql/hstore.sql b/contrib/hstore/sql/hstore.sql index 190d7a2afaf501f85ce9a6abac474bddd7b2583c..a066f11b2bbfea9845f3530d53ee60b7e4bdf485 100644 --- a/contrib/hstore/sql/hstore.sql +++ b/contrib/hstore/sql/hstore.sql @@ -171,14 +171,14 @@ select pg_column_size(('b'=>'gf')) select pg_column_size('a=>g, b=>c'::hstore || ('b'=>'gf')) = pg_column_size('a=>g, b=>gf'::hstore); --- => arrays -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['g','h','i']; -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b']; -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['aa','b']; -select hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b','aa']; -select pg_column_size(hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b']) +-- % +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['g','h','i']; +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b']; +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['aa','b']; +select hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b','aa']; +select pg_column_size(hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b']) = pg_column_size('b=>2, c=>3'::hstore); -select pg_column_size(hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b','aa']) +select pg_column_size(hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b','aa']) = pg_column_size('aa=>1, b=>2, c=>3'::hstore); -- array input diff --git a/contrib/hstore/uninstall_hstore.sql b/contrib/hstore/uninstall_hstore.sql index 9162475ad1678a1c7c4656113257be66fa915a76..468bfb3c964e3f960f6a3d6136d1b314e1b3c92e 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.9 2009/09/30 19:50:22 tgl Exp $ */ +/* $PostgreSQL: pgsql/contrib/hstore/uninstall_hstore.sql,v 1.10 2010/06/18 03:52:02 rhaas Exp $ */ -- Adjust this setting to control where the objects get dropped. SET search_path = public; @@ -22,8 +22,7 @@ DROP OPERATOR <@ ( hstore, hstore ); DROP OPERATOR @ ( hstore, hstore ); DROP OPERATOR ~ ( hstore, hstore ); DROP OPERATOR => ( text, text ); -DROP OPERATOR => ( text[], text[] ); -DROP OPERATOR => ( hstore, text[] ); +DROP OPERATOR % ( hstore, text[] ); DROP OPERATOR #= ( anyelement, hstore ); DROP OPERATOR %% ( NONE, hstore ); DROP OPERATOR %# ( NONE, hstore ); diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index 9dac2b3ec49e62c009cdb50e453eb183b73d0dc0..d5d320adf9028e026b16768adf4d4c56fe900da2 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/hstore.sgml,v 1.9 2010/06/15 19:48:30 rhaas Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/hstore.sgml,v 1.10 2010/06/18 03:52:03 rhaas Exp $ --> <sect1 id="hstore"> <title>hstore</title> @@ -121,9 +121,9 @@ </row> <row> - <entry><type>hstore</> <literal>=></> <type>text[]</></entry> + <entry><type>hstore</> <literal>%</> <type>text[]</></entry> <entry>extract a subset of an <type>hstore</></entry> - <entry><literal>'a=>1,b=>2,c=>3'::hstore => ARRAY['b','c','x']</literal></entry> + <entry><literal>'a=>1,b=>2,c=>3'::hstore % ARRAY['b','c','x']</literal></entry> <entry><literal>"b"=>"2", "c"=>"3"</literal></entry> </row>