Обсуждение: BUG #14364: json_populate_record doesn't accept JSON arrays

Поиск
Список
Период
Сортировка

BUG #14364: json_populate_record doesn't accept JSON arrays

От
joerg@bec.de
Дата:
VGhlIGZvbGxvd2luZyBidWcgaGFzIGJlZW4gbG9nZ2VkIG9uIHRoZSB3ZWJz
aXRlOgoKQnVnIHJlZmVyZW5jZTogICAgICAxNDM2NApMb2dnZWQgYnk6ICAg
ICAgICAgIErDtnJnIFNvbm5lbmJlcmdlcgpFbWFpbCBhZGRyZXNzOiAgICAg
IGpvZXJnQGJlYy5kZQpQb3N0Z3JlU1FMIHZlcnNpb246IDkuNC45Ck9wZXJh
dGluZyBzeXN0ZW06ICAgTGludXgKRGVzY3JpcHRpb246ICAgICAgICAKCmpz
b25fcG9wdWxhdGVfcmVjb3JkIGV4cGVjdHMgYXJyYXlzIGluIGZpZWxkcyB1
c2luZyB0aGUgUEcgYXJyYXkgbGl0ZXJhbApzeW50YXgsIGl0IGRvZXNuJ3Qg
c3VwcG9ydCBKU09OIGFycmF5cy4gVGhpcyBpcyBoaWdobHkgYW5ub3lpbmcg
YXMgdGhlIEpTT04Kb3V0cHV0IGZ1bmN0aW9ucyBsaWtlIHJvd190b19qc29u
IHdpbGwgY3JlYXRlIEpTT04gYXJyYXlzLCBzbyByb3VuZC10cmlwCmZpZGVs
aXR5IGlzIGxvc3QuDQoNClNtYWxsIGV4YW1wbGU6DQoNCkNSRUFURSBURU1Q
T1JBUlkgVEFCTEUgdGVzdCAoYSBpbnQsIGIgaW50W10pOw0KU0VMRUNUIGpz
b25fcG9wdWxhdGVfcmVjb3JkKE5VTEw6OnRlc3QsICd7ImEiOiA1LCAiYiI6
IFsxLDJdfScpOw0KDQpnaXZlczoNCg0KRVJST1I6ICBtYWxmb3JtZWQgYXJy
YXkgbGl0ZXJhbDogIlsxLDJdIg0KREVUQUlMOiAgTWlzc2luZyAiXSIgYWZ0
ZXIgYXJyYXkgZGltZW5zaW9ucy4NCg0KQnV0DQoNClNFTEVDVCBqc29uX3Bv
cHVsYXRlX3JlY29yZChOVUxMOjp0ZXN0LCAneyJhIjogNSwgImIiOiAiezEs
Mn0ifScpOw0KDQppcyBhY2NlcHRlZC4gQWNjZXB0aW5nIEpTT04gYXJyYXlz
IGRpcmVjdGx5IHdvdWxkIGJlIGJhY2t3YXJkcy1jb21wYXRpYmxlLgoK

Re: BUG #14364: json_populate_record doesn't accept JSON arrays

От
Tom Lane
Дата:
joerg@bec.de writes:
> json_populate_record expects arrays in fields using the PG array literal
> syntax, it doesn't support JSON arrays. This is highly annoying as the JSON
> output functions like row_to_json will create JSON arrays, so round-trip
> fidelity is lost.

Yeah, this has come up before; one recent discussion is at
https://www.postgresql.org/message-id/flat/CAPpdape1SieipHCyZVbgtkb5NaD00FKGjiEoqfYj%3DPi%2B9ffisg%40mail.gmail.com

Basically, these functions weren't built to process nested structures
recursively, and making them do so is a bit more work than anyone has
seen fit to put into them yet.  We'd accept a patch ...

            regards, tom lane