On Mar 13, 2009, at 2:26 PM, Andrew Gierth wrote:

David> Is a more Perlish syntax out of the question?

Yes. Sorry.

David> SELECT ('a=>1,b=>2,c=>3'::hstore)['a', 'b'];
David>   -- returns '{1,2}'

That would require integrating hstore into core - array subscripting
isn't a user-definable operation.

David> select ('a=>1,b=>2,c=>3'::hstore){'a','b'};
David>   -- returns 'a=>1,b=>2'

And that would require changing the parser...

How functionS, then?

 SELECT slice(('a=>1,b=>2,c=>3'::hstore), ARRAY['a', 'b']);
 -- returns '{1,2}'

 SELECT hslice(('a=>1,b=>2,c=>3'::hstore), ARRAY['a','b']);
 -- returns 'a=>1,b=>2'

Better names welcome, of course. But there isn't even a slice interface for array, is there?

SELECT slice(ARRAY[ 'a', 'b', 'c' ], ARRAY[1, 3]);
 -- returns '{a,c}'

Best,

David

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to