| 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: | Whole Thread | Raw Message | 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
| 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 |