Re: JSON[B] arrays are second-class citizens
От | Peter van Hardenberg |
---|---|
Тема | Re: JSON[B] arrays are second-class citizens |
Дата | |
Msg-id | CABTbUpjBTNRGse8=EAHwUbNXStK5ti+BJS9JW-N0qJO-UgM73g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: JSON[B] arrays are second-class citizens ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
Re: JSON[B] arrays are second-class citizens
|
Список | pgsql-hackers |
The idea of converting a JSONB array to a PG array is appealing and would potentially be more general-purpose than adding a new unnest. I'm not sure how feasible either suggestion is.
I will say that I think the current state of affairs is gratuitously verbose and expects users to memorize a substantial number of long function names to perform simple tasks.
-p
On Tue, May 31, 2016 at 2:06 PM, David G. Johnston <david.g.johnston@gmail.com> wrote:
Folks,
While querying some JSONB blobs at work in preparation for a massive
rework of the data infrastructure, I ran into things that really
puzzled me, to wit:
SELECT * FROM unnest('["a","b","c"]'::jsonb);
ERROR: function unnest(jsonb) does not exist
SELECT * FROM jsonb_array_elements('["a","b","c"]'::jsonb);
value
───────
"a"
"b"
"c"
(3 rows)I'd be inclined to -1 such a proposal. TIMTOWTDI is not a principle that we endeavor to emulate.Having an overloaded form: <unnest(jsonb) : setof jsonb> is unappealing. While likely not that common the introduction of an ambiguity makes raises the bar considerably.That said we do seem to be lacking any easy way to take a json array and attempt to convert it directly into a PostgreSQL array. Just a conversion is not always going to succeed though the capability seems worthwhile if as yet unasked for. The each->convert->array_agg pattern works but is likely inefficient for homogeneous json array cases.David J.
Peter van Hardenberg
San Francisco, California
"Everything was beautiful, and nothing hurt."—Kurt Vonnegut
San Francisco, California
"Everything was beautiful, and nothing hurt."—Kurt Vonnegut
В списке pgsql-hackers по дате отправления: