BUG #13485: JSONB To recordset not working with CamelCase

Поиск
Список
Период
Сортировка
От roberto.morelli@oneoverzero.net
Тема BUG #13485: JSONB To recordset not working with CamelCase
Дата
Msg-id 20150703144657.1187.69398@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #13485: JSONB To recordset not working with CamelCase  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      13485
Logged by:          Roberto Morelli
Email address:      roberto.morelli@oneoverzero.net
PostgreSQL version: 9.4.4
Operating system:   MacOSX
Description:

Hello,

I have encountered a problem with the jsonb type and the procedure
jsonb_populate_recordset.

If I have a type defined as:

CREATE TYPE nsp.confidence_enum AS
ENUM ('probably', 'conclusively', 'reliabily');

CREATE TYPE nsp.direction_enum AS
ENUM ('true', 'false');

CREATE TYPE nsp.TraitInfluence AS
(
    traitId       uuid,
    direction     nsp.direction_enum,
    confidence    nsp.confidence_enum
);

Note the camel case in traitId of nsp.TraitInfluence. If I try to populate a
recordset with the jsonb in the following way:

select jsonb_populate_recordset(null::nsp.TraitInfluence, '[{"traitId":
"c7fd7224-3f09-4a0a-941d-7a6a96d655b5", "direction": "true", "confidence":
"probably"}]'::jsonb)

I get the following result:

"(,true,probably)"

That is the traitId value is missing. I cannot change the camel case in the
json payload because it is a third party data.

How can I overcome this problem? The correct result should be:

"(c7fd7224-3f09-4a0a-941d-7a6a96d655b5,true,probably)"

Thank you very much for your help
Best Regards
Roberto

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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: PQexec() hangs on OOM
Следующее
От: sammit.karekar@ril.com
Дата:
Сообщение: BUG #13483: Installation fails