Re: Cast jsonb to numeric, int, float, bool - Mailing list pgsql-hackers

From ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Subject Re: Cast jsonb to numeric, int, float, bool
Date
Msg-id d8j1sg1mvwp.fsf@dalvik.ping.uio.no
Whole thread Raw
In response to Re: Cast jsonb to numeric, int, float, bool  (Aleksander Alekseev <a.alekseev@postgrespro.ru>)
Responses Re: Cast jsonb to numeric, int, float, bool
List pgsql-hackers
Aleksander Alekseev <a.alekseev@postgrespro.ru> writes:

> 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.

How about "cannot cast jsonb $json_type to $sql_type" where $json_type
is the type inside the jsonb (e.g. string, number, boolean, array,
object)?

- ilmari
-- 
"The surreality of the universe tends towards a maximum" -- Skud's Law
"Never formulate a law or axiom that you're not prepared to live with
 the consequences of."                              -- Skud's Meta-Law


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Feature Request - DDL deployment with logical replication
Next
From: Robert Haas
Date:
Subject: Re: pgsql: Rewrite the code that applies scan/join targets to paths.