agora inbox for pgsql-ru-general@postgresql.org  
help / color / mirror / Atom feed
From: Dmitry E. Oboukhov <unera@debian.org>
To: pgsql-ru-general@postgresql.org
Subject: hstore & plperl & массивы
Date: Wed, 9 Mar 2011 23:18:26 +0300
Message-ID: <20110309201825.GA20505@apache.rbscorp.ru> (raw)

хочу сказать спасибо за совет посмотреть на hstore, сейчас немного
переделал тестовую БД получается очень красиво с hstore.

однако хочется с ними поработать из хранимки на plperl, вопрос: это
надо получается ее распарсивать вручную или есть готовые либы на эту
тему?

и еще вопрос по массивам:

есть столбик:
 val hstore[]

хотим добавлять в него точки

 array_append("val", "point") - добавляет, но поскольку точки приходят
 неупорядочено, то хочется тут вкрячиться со своей процедуркой которая
 при вставке делала бы упорядочивание.

 соответственно бинарный поиск/сортировка нужны. можно конечно
 написать самому, но может быть опять что-то есть готовое на эту тему?

 можно сделать еще

 ARRAY_AGG(SELECT UNNEST(val || ARRAY["point"]::hstore[]) t ORDER BY t->'key')

 но это будет сортировка на каждом добавлении точки



-- 

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachments:

  [application/pgp-signature] signature.asc (197B, ../20110309201825.GA20505@apache.rbscorp.ru/2-signature.asc)
  download

view thread (12+ messages)  latest in thread

Message-ID: <20110309201825.GA20505@apache.rbscorp.ru>
Permalink:  ../20110309201825.GA20505@apache.rbscorp.ru/
Also on:    postgresql.org/message-id/20110309201825.GA20505@apache.rbscorp.ru

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-ru-general@postgresql.org
  Cc: unera@debian.org
  Subject: Re: hstore & plperl & массивы
  In-Reply-To: <20110309201825.GA20505@apache.rbscorp.ru>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox