Обсуждение: hstore syntax

Поиск
Список
Период
Сортировка

hstore syntax

От
Kaare Rasmussen
Дата:
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.


Re: hstore syntax

От
Magnus Hagander
Дата:
On Sun, Dec 8, 2013 at 11:22 AM, Kaare Rasmussen <kaare@jasonic.dk> wrote:
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/

Re: hstore syntax

От
Kaare Rasmussen
Дата:
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.