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

Aleksander Alekseev <a.alekseev@postgrespro.ru>

From: Aleksander Alekseev <a.alekseev@postgrespro.ru>
To: Teodor Sigaev <teodor@sigaev.ru>
Cc: Robert Haas <robertmhaas@gmail.com>, David Steele <david@pgmasters.net>, Nikita Glukhov <n.gluhov@postgrespro.ru>, Darafei Praliaskouski <me@komzpa.net>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-03-30T14:24:23Z
Lists: pgsql-hackers
Hello Teodor,

> > Agree, something like "could not convert jsonb value to boolean type. jsonb
> > value must be scalar boolean type"?
> 
> I checked what error messages are used currently:
> 
> ```
> # select 123::int4::jsonb;
> ERROR:  cannot cast type integer to jsonb
> LINE 1: select 123::int4::jsonb;
> ```
> 
> I suggest to follow the same template, i.e. "cannot cast type jsonb to
> bool", etc.

On second thought this message is misleading. We can cat jsonb to bool,
the problem is that the document is not a bool value.

-- 
Best regards,
Aleksander Alekseev

Commits

  1. Add casts from jsonb