Re: BUG #10728: json_to_recordset with nested json objects NULLs columns
От | Michael Paquier |
---|---|
Тема | Re: BUG #10728: json_to_recordset with nested json objects NULLs columns |
Дата | |
Msg-id | CAB7nPqS0b=1DEKPWTQgzB0L3iV-ZQxTdffnqpc2Qp8_F1U2-6A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #10728: json_to_recordset with nested json objects NULLs columns (Michael Paquier <michael.paquier@gmail.com>) |
Ответы |
Re: BUG #10728: json_to_recordset with nested json objects
NULLs columns
|
Список | pgsql-bugs |
On Mon, Jun 23, 2014 at 2:13 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > I am guessing that the bug origin is in pg_parse_json in the way nested > json is managed, it is the only code path of populate_recordset_worker > where a switch on JSON[B]OID is used. > Digging into that, I am seeing that the hash table used to find the field values queried in populate_recordset_object_end in the hash table (PopulateRecordsetState *)->json_hash has null entries for all the columns inserted before the last nested json value. For example in my last example with '[{"a":2,"b":3,"c":{"z":4}, "d":6}]', this results in having null values for "a" and "b", "c" and "d" remaining correct. populate_recordset_object_field_end inserts those values correctly within the hash table though, so something strange is going on when inserting in json_hash directly a json value. -- Michael
В списке pgsql-bugs по дате отправления: