Re: PATCH: recursive json_populate_record()
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nikita Glukhov <n.gluhov@postgrespro.ru>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>,
David Steele <david@pgmasters.net>,
Michael Paquier <michael.paquier@gmail.com>,
Aleksander Alekseev <a.alekseev@postgrespro.ru>,
PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-05-29T23:31:45Z
Lists: pgsql-hackers
Nikita Glukhov <n.gluhov@postgrespro.ru> writes: > Attached two small fixes for the previous committed patch: > 1. I've noticed a difference in behavior between json_populate_record() > and jsonb_populate_record() if we are trying to populate record from a > non-JSON-object: json function throws an error but jsonb function returns > a record with NULL fields. So I think it would be better to throw an error > in jsonb case too, but I'm not sure. Agreed on the error. I reformatted the code a bit. > 2. Also I've found a some kind of thinko in JsGetObjectSize() macro, but it > seems that this obvious mistake can not lead to incorrect behavior. Hm, I think it actually was wrong for the case of jsonb_cont == NULL, wasn't it? But maybe that case didn't arise for the sole call site. Anyway, agreed. Pushed both patches. regards, tom lane
Commits
-
Make edge-case behavior of jsonb_populate_record match json_populate_record
- 68cff231e3a3 10.0 landed
-
Fix thinko in JsObjectSize() macro.
- e45c5be99d08 10.0 landed
-
Introduce convenience macros to hide JsonbContainer header accesses better.
- f7c624624029 10.0 landed