On Tuesday, January 31, 2023, PG Bug reporting form <
noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 17765
Logged by: Vladimir Vinnikov
Email address: vvinnikov@list.ru
PostgreSQL version: 15.1
Operating system: x86_64-pc-linux-gnu
Description:
ERROR: cannot cast type boolean to bigint
That's inconsistent since casting boolean to int is OK (SELECT CAST(true AS
INT);) or double casting is OK (SELECT CAST(CAST(true AS INT) AS BIGINT);).
If you want to create your own cast by all means, but just because we are stuck with allowing bool-to-int doesn’t mean we have allow bool-to-bigint. This is neither a big nor, IMO, a desirable feature. Casts that don’t make sense should not exist. And I have no clue how the double-casting example means anything here. Of course integer to bigint is a valid cast.
David J.