Re: Cast jsonb to numeric, int, float, bool

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru>, David Steele <david(at)pgmasters(dot)net>
Cc: Nikita Glukhov <n(dot)gluhov(at)postgrespro(dot)ru>, Darafei Praliaskouski <me(at)komzpa(dot)net>, Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Cast jsonb to numeric, int, float, bool
Date: 2018-03-28 08:35:06
Message-ID: 912e1a07-90a9-ad97-bc70-d71ec0f6f073@sigaev.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> I think, it should support from/to numeric/bool/text only. If we want to have
> casts to from numeric to other numeric types then it should be full set (int2,
> int4, int8, float4, float8).

I was too optimistic about casting to/from text. It already exists and it works
by differ way from suggested casts:

1) select '"foo"'::jsonb::text; -> "foo" // with ""
2) select '123'::jsonb::text; -> 123
3) select '123'::jsonb::int4; -> 123

Seems, sometime it would be desirable result in 1) as just
'foo' without "" decoration, but we cannot have 2 different explicit casts for
the same types. So, I withdraw objections about text casting, but I still
believe that we need one of two variants:
1) numeric/bool
2) bool, numeric/all variants of numeric types

--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2018-03-28 08:39:32 Re: Proposal: http2 wire format
Previous Message Craig Ringer 2018-03-28 08:29:37 Re: Proposal: http2 wire format