Thread: hstore syntax
Hi Trying to write a sql function to return hstore generated from a select. But I'm thinking there must be a better way. SELECT 'key => "' || s.part || '"')::hstore is neither pretty nor secure. At least I need to escape any '"' in s.part. I'll do so if there's no better way to write this (?) Also, it seems there's no length or size function for hstore? This is what I've got working now array_length(akeys(s.hstore_field), 1). It seems to be a rather long way to do it, but it works.
On Sun, Dec 8, 2013 at 11:22 AM, Kaare Rasmussen <kaare@jasonic.dk> wrote:
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
Hi
Trying to write a sql function to return hstore generated from a select. But I'm thinking there must be a better way.
SELECT 'key => "' || s.part || '"')::hstore
is neither pretty nor secure. At least I need to escape any '"' in s.part. I'll do so if there's no better way to write this (?)
If it's just for a single value, you can just use
SELECT hstore('key', s.part)
It also takes array (either one big array, or one array of keys and one array of values).
Also, it seems there's no length or size function for hstore? This is what I've got working now array_length(akeys(s.hstore_field), 1). It seems to be a rather long way to do it, but it works.
That I don't think there is one, no.
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
On 12/08/2013 11:45 AM, Magnus Hagander wrote: > If it's just for a single value, you can just use > > SELECT hstore('key', s.part) > > It also takes array (either one big array, or one array of keys and > one array of values). > Super! I knew I was missing the obvious.