• Andres Freund's avatar
    Fix determination when slot types for upper executor nodes are fixed. · 97e971ee
    Andres Freund authored
    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 675af5c0.
    
    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 675af5c0 was merged.
    97e971ee
execExpr.c 100 KB