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

Поиск
Список
Период
Сортировка
От Dmitriy Igrishin
Тема Re: [pgsql-ru-general] Re: [pgsql-ru-general] hstore & plperl & массивы
Дата
Msg-id AANLkTikK8vKGxi3iEEj6ToKV4_nB=AAWV5Ft-28LbVNj@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [pgsql-ru-general] hstore & plperl & массивы  (Dmitriy Igrishin <dmitigr@gmail.com>)
Ответы Re: Re: [pgsql-ru-general] Re: [pgsql-ru-general] hstore & plperl & массивы  ("Dmitry E. Oboukhov" <unera@debian.org>)
Список pgsql-ru-general
Приветствую,

10 марта 2011 г. 9:06 пользователь Dmitry E. Oboukhov <unera@debian.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@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
 `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537



--
// Dmitriy.


В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: домены и массивы
Следующее
От: Dmitriy Igrishin
Дата:
Сообщение: Re: [pgsql-ru-general] домены и массивы