pgsql: Fix determination when slot types for upper executor nodes are f - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: Fix determination when slot types for upper executor nodes are f
Date
Msg-id E1iEi2L-0005Gu-Dr@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix determination when slot types for upper executor nodes are fixed.

For many queries the fact that the tuple descriptor from the lower
node was not taken into account when determining whether the type of a
slot is fixed, lead to tuple deforming for such upper nodes not to be
JIT accelerated.

I broke this in 675af5c01e297.

There is ongoing work to enable writing regression tests for related
behavior (including a patch that would have detected this
regression), by optionally showing such details in EXPLAIN. But as it
seems unlikely that that will be suitable for stable branches, just
merge the fix for now.

While it's fairly close to the 12 release window, the fact that 11
continues to perform JITed tuple deforming in these cases, that
there's still cases where we do so in 12, and the fact that the
performance regression can be sizable, weigh in favor of fixing it
now.

Author: Andres Freund
Discussion: https://postgr.es/m/20190927072053.njf6prdl3vb7y7qb@alap3.anarazel.de
Backpatch: 12-, where 675af5c01e297 was merged.

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/6cf74f1bbd6545321d9e2929c7618550863f72d1

Modified Files
--------------
src/backend/executor/execExpr.c | 2 ++
1 file changed, 2 insertions(+)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Fix determination when slot types for upper executor nodes are f
Next
From: Andres Freund
Date:
Subject: pgsql: jit: Re-allow JIT compilation of execGrouping.c hashtable compar