Re: Possible bug on Postgres 12 (CASE THEN evaluated prematurely) - Change of behaviour compared to 11, 10, 9

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Juan Fuentes <juanmarianofuentes(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Possible bug on Postgres 12 (CASE THEN evaluated prematurely) - Change of behaviour compared to 11, 10, 9
Date: 2020-06-04 14:26:11
Message-ID: 1214200.1591280771@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Juan Fuentes <juanmarianofuentes(at)gmail(dot)com> writes:
> As you could see the query includes castings, we noticed testing with Postgres 12 that the castings of the CASE THEN statement (commented out below) where failing in some cases, of course if you do the INNER JOIN and CASE WHEN first our expectation is that the value can be casted.

You're unlikely to get any useful comments on this if you don't provide
a self-contained example. The query by itself lacks too many details.
As an example, one way "t7.value::numeric = 1" could fail despite being
inside a CASE is if t7 is a view whose "value" column is actually a
constant. Flattening of the view would replace "t7.value" with that
constant, and then constant-folding would cause the failure, and neither
of those things are prevented by a CASE. I kind of doubt that that's
the specific issue here, but I'm not going to guess at what is in your
thirty-some input tables.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kenichiro Tanaka 2020-06-04 14:53:15 Re: Wrong width of UNION statement
Previous Message Tom Lane 2020-06-04 13:53:32 Re: Regarding TZ conversion