Re: Extract numeric filed in JSONB more effectively
От | Pavel Stehule |
---|---|
Тема | Re: Extract numeric filed in JSONB more effectively |
Дата | |
Msg-id | CAFj8pRDbZCBgZhnOPK5JbMRDpUrpxceaGVaorz30PycAjteeig@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Extract numeric filed in JSONB more effectively (Andy Fan <zhihui.fan1213@gmail.com>) |
Ответы |
Re: Extract numeric filed in JSONB more effectively
|
Список | pgsql-hackers |
po 14. 8. 2023 v 9:06 odesílatel Andy Fan <zhihui.fan1213@gmail.com> napsal:
We'd still have functions like jsonb_field_as_numeric() under the
hood, but there's not an expectation that users call them explicitly.To avoid the lots of functions like jsonb_field_as_int2/int4, I definedDatum jsonb_object_field_type(.., Oid target_oid) at last, so thefunction must return "internal" or "anyelement". Then we can see:select jsonb_object_field_type(tb.a, 'a'::text, 1700) from tb;
ERROR: cannot display a value of type anyelement.
you cannot to use type as parameter. There should be some typed value - like
jsonb_object_field, '{"a":10}', 'a', NULL::int)
and return type should be anyelement.
Another solution should be more deeper change like implementation of "coalesce"
The reason is clear to me, but I'm not sure how to fix that or deservesa fix? Or shall I define jsonb_object_field_int2/int8 to avoid this?--This is an unresolved issue at the latest patch.Best RegardsAndy Fan
В списке pgsql-hackers по дате отправления: