Juan Fuentes <juanmarianofuentes@gmail.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
expectationis 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