mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Rename hstore => text[] operator to %
This is not yet in any released version, so we still have the option to change the name. We may want to reserve the token => in a future release.
This commit is contained in:
		@@ -757,39 +757,39 @@ select pg_column_size('a=>g, b=>c'::hstore || ('b'=>'gf'))
 | 
				
			|||||||
 t
 | 
					 t
 | 
				
			||||||
(1 row)
 | 
					(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? 
 | 
					 ?column? 
 | 
				
			||||||
----------
 | 
					----------
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
(1 row)
 | 
					(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?      
 | 
					      ?column?      
 | 
				
			||||||
--------------------
 | 
					--------------------
 | 
				
			||||||
 "b"=>"2", "c"=>"3"
 | 
					 "b"=>"2", "c"=>"3"
 | 
				
			||||||
(1 row)
 | 
					(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?       
 | 
					      ?column?       
 | 
				
			||||||
---------------------
 | 
					---------------------
 | 
				
			||||||
 "b"=>"2", "aa"=>"1"
 | 
					 "b"=>"2", "aa"=>"1"
 | 
				
			||||||
(1 row)
 | 
					(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?            
 | 
					           ?column?            
 | 
				
			||||||
-------------------------------
 | 
					-------------------------------
 | 
				
			||||||
 "b"=>"2", "c"=>"3", "aa"=>"1"
 | 
					 "b"=>"2", "c"=>"3", "aa"=>"1"
 | 
				
			||||||
(1 row)
 | 
					(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);
 | 
					         = pg_column_size('b=>2, c=>3'::hstore);
 | 
				
			||||||
 ?column? 
 | 
					 ?column? 
 | 
				
			||||||
----------
 | 
					----------
 | 
				
			||||||
 t
 | 
					 t
 | 
				
			||||||
(1 row)
 | 
					(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);
 | 
					         = pg_column_size('aa=>1, b=>2, c=>3'::hstore);
 | 
				
			||||||
 ?column? 
 | 
					 ?column? 
 | 
				
			||||||
----------
 | 
					----------
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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.
 | 
					-- Adjust this setting to control where the objects get created.
 | 
				
			||||||
SET search_path = public;
 | 
					SET search_path = public;
 | 
				
			||||||
@@ -66,7 +66,7 @@ RETURNS hstore
 | 
				
			|||||||
AS 'MODULE_PATHNAME','hstore_slice_to_hstore'
 | 
					AS 'MODULE_PATHNAME','hstore_slice_to_hstore'
 | 
				
			||||||
LANGUAGE C STRICT IMMUTABLE;
 | 
					LANGUAGE C STRICT IMMUTABLE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CREATE OPERATOR => (
 | 
					CREATE OPERATOR % (
 | 
				
			||||||
	LEFTARG = hstore,
 | 
						LEFTARG = hstore,
 | 
				
			||||||
	RIGHTARG = text[],
 | 
						RIGHTARG = text[],
 | 
				
			||||||
	PROCEDURE = slice_hstore
 | 
						PROCEDURE = slice_hstore
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -171,14 +171,14 @@ select pg_column_size(('b'=>'gf'))
 | 
				
			|||||||
select pg_column_size('a=>g, b=>c'::hstore || ('b'=>'gf'))
 | 
					select pg_column_size('a=>g, b=>c'::hstore || ('b'=>'gf'))
 | 
				
			||||||
         = pg_column_size('a=>g, b=>gf'::hstore);
 | 
					         = 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['g','h','i'];
 | 
				
			||||||
select hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b'];
 | 
					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['aa','b'];
 | 
				
			||||||
select hstore 'aa=>1, b=>2, c=>3' => ARRAY['c','b','aa'];
 | 
					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 pg_column_size(hstore 'aa=>1, b=>2, c=>3' % ARRAY['c','b'])
 | 
				
			||||||
         = pg_column_size('b=>2, c=>3'::hstore);
 | 
					         = 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);
 | 
					         = pg_column_size('aa=>1, b=>2, c=>3'::hstore);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- array input
 | 
					-- array input
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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.
 | 
					-- Adjust this setting to control where the objects get dropped.
 | 
				
			||||||
SET search_path = public;
 | 
					SET search_path = public;
 | 
				
			||||||
@@ -22,8 +22,7 @@ DROP OPERATOR <@ ( hstore, hstore );
 | 
				
			|||||||
DROP OPERATOR @  ( hstore, hstore );
 | 
					DROP OPERATOR @  ( hstore, hstore );
 | 
				
			||||||
DROP OPERATOR ~  ( hstore, hstore );
 | 
					DROP OPERATOR ~  ( hstore, hstore );
 | 
				
			||||||
DROP OPERATOR => ( text, text );
 | 
					DROP OPERATOR => ( text, text );
 | 
				
			||||||
DROP OPERATOR => ( text[], text[] );
 | 
					DROP OPERATOR % ( hstore, text[] );
 | 
				
			||||||
DROP OPERATOR => ( hstore, text[] );
 | 
					 | 
				
			||||||
DROP OPERATOR #= ( anyelement, hstore );
 | 
					DROP OPERATOR #= ( anyelement, hstore );
 | 
				
			||||||
DROP OPERATOR %% ( NONE, hstore );
 | 
					DROP OPERATOR %% ( NONE, hstore );
 | 
				
			||||||
DROP OPERATOR %# ( NONE, hstore );
 | 
					DROP OPERATOR %# ( NONE, hstore );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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">
 | 
					<sect1 id="hstore">
 | 
				
			||||||
 <title>hstore</title>
 | 
					 <title>hstore</title>
 | 
				
			||||||
@@ -121,9 +121,9 @@
 | 
				
			|||||||
     </row>
 | 
					     </row>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     <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>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>
 | 
					      <entry><literal>"b"=>"2", "c"=>"3"</literal></entry>
 | 
				
			||||||
     </row>
 | 
					     </row>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user