Re: Calling json_* functions with JSONB data

Поиск
Список
Период
Сортировка
От Peter van Hardenberg
Тема Re: Calling json_* functions with JSONB data
Дата
Msg-id CABTbUpiZcbgYJU9xX39MH_1w6k6KX2f4ojX_+GkaxVWaYCM=Vw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Calling json_* functions with JSONB data  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
I'll look into it, thanks for the explanation.

On Mon, May 23, 2016 at 1:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Peter van Hardenberg <pvh@pvh.ca> writes:
> Great question, Marko. If you can point me towards an example I'll take a
> look, but I'll proceed with the current understanding and suggestions and
> see what people have to say.

I believe Marko's just complaining about the case for unknown-type
arguments, for example:

regression=# select json_array_length('[1,2,3]');
 json_array_length
-------------------
                 3
(1 row)

The parser has no trouble resolving this because there is only one
json_array_length(); but if there were two, it would fail to make a
determination of which one you meant.

AFAICS the only way to fix that would be to introduce some preference
between the two types.  For example, we could move both 'json' and 'jsonb'
into their own typcategory ('J' is unused...) and then mark 'jsonb' as
the preferred type in that category.  This would require a fair amount of
experimentation to determine if it upsets any cases that work conveniently
today; but right offhand I don't see any fatal problems with such an idea.

                        regards, tom lane



--
Peter van Hardenberg
San Francisco, California
"Everything was beautiful, and nothing hurt."—Kurt Vonnegut

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

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: BTREE_BUILD_STATS build is broken
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: Calling json_* functions with JSONB data