Re: [pgsql-ru-general] индекс по полю JSON без функции

Поиск
Список
Период
Сортировка
От Nikolay Samokhvalov
Тема Re: [pgsql-ru-general] индекс по полю JSON без функции
Дата
Msg-id CANNMO++17YsLxEUH6xPveUa5MNOw1Bw+fFyX0Qf+6yijWFgwyg@mail.gmail.com
обсуждение исходный текст
Список pgsql-ru-general
что, если использовать тип данных timestamp without timezone?


2013/9/24 Dmitry E. Oboukhov <unera@debian.org>

есть в табличке JSON-чик

там неопределенный набор полей в хеше поэтому JSON
но поле time в JSON есть почти всегда

хочу построить по нему индекс

CREATE INDEX ON "table" (("field"->>'time'))
    WHERE ("field"->>'time') IS NOT NULL;


но поскольку в SQL запросах хочется оперировать полем time именно как
TIMESTAMP (а там CHECKER еще накинут на то что проверяет что time
это либо null либо timestamp).
то соответственно хочется индекс строить по типу timestamp (иначе
после приведения этот индекс не используется)

CREATE INDEX ON "table" ((("field"->>'time')::timestamp(0)))
    WHERE ("field"->>'time') IS NOT NULL;

ругается что должно быть immutable.

функцию выделенную делать не хочется.

как быть?
--

. ''`.                               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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEAREDAAYFAlJCDJYACgkQq4wAz/jiZTerDwCgwQ6czkLG8RhabD5tM3WAMHoo
yiYAnjFD5Wfz6h0g5nOI5EPCARvBQAHC
=JLzA
-----END PGP SIGNATURE-----


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

Предыдущее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: Re: индекс по полю JSON без функции
Следующее
От: Sergey Konoplev
Дата:
Сообщение: Re: [pgsql-ru-general] индекс по полю JSON без функции