Re: [pgsql-ru-general] Re: [pgsql-ru-general] hstore & plperl & массивы

From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] hstore & plperl & массивы
Date: 2011-03-10 17:04:25
Message-ID: AANLkTikK8vKGxi3iEEj6ToKV4_nB=AAWV5Ft-28LbVNj@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Приветствую,

10 марта 2011 г. 9:06 пользователь Dmitry E. Oboukhov <unera(at)debian(dot)org>написал:

>
> DI> Я не знаком с Perl, но очевидно, что эта задача решается намного проще,
> DI> чем может показаться:
> DI> http://www.depesz.com/index.php/2008/10/04/
> DI> deserialization-of-hstore-data-structure-in-perl/
>
> это парсинг, собственно хочется не парсингом заниматься (ибо хорошо бы
> оставить работу с собственно RAW строкой на откупе у "родного"
> движка), а потому наверно лучше попытаться подергать из perl функции
> *keys и *vals? как впрочем и из других языков. ну я в общем покопаюсь
> на этом направлении: можно ли из plperl дергать функции C/plpgsql
>
По крайней мере, это не посимвольный парсинг, а вызов eval(),
который всю эту работу уже сделает прекрасно, благодаря тому,
что вывод hstore совместим с синтаксисом ассоциативных массивов
в Perl, насколько я понимаю.
Кроме того, решение с использованием eval() предлагается одним из авторов
hstore.
Более тесной интеграции plperl и hstore возможно достингуть в том
случае, если hstore войдет в ядро PostgreSQL. А сегодня, предложенный
вариант, возможно, наилучший.

>
> DI> Не совсем понятно какая решается задача.
>
> ну есть поле - массив hstore.
> в это поле иногда делается append новой hstore. хочется массив держать
> упорядоченным по одному из ключей этих hstore. то есть вместо append
> делать insert в нужное место

Не совсем понятно, зачем нужен упорядоченный по ключу массив hstore?
Да и вообще, куда принципиально помещать элементы такого массива, если
у них отсутствует ключ, по котору производится упорядочивание?
Возможно, здесь не совсем продуманное проектное решение.

.
>
> соответственно чтобы его делать нужен бинарный поиск по массиву.
> я его сам конечно написал на plpgsql но возможно это очередной велик и
> есть что-то готовое?
> --
>
> . ''`. Dmitry E. Oboukhov
> : :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
> `. `~’ GPGKey: 1024D / F8E26537 2006-11-21
> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
>

--
// Dmitriy.

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2011-03-10 17:06:21 Re: [pgsql-ru-general] домены и массивы
Previous Message Dmitry E. Oboukhov 2011-03-10 07:02:50 домены и массивы