Compute information about EEOP_*_FETCHSOME at expression init time.

Andres Freund <andres@anarazel.de>

Commit: 675af5c01e297262cd20d7416f7e568393c22c6e
Author: Andres Freund <andres@anarazel.de>
Date: 2018-11-16T06:00:30Z
Releases: 12.0
Compute information about EEOP_*_FETCHSOME at expression init time.

Previously this information was computed when JIT compiling an
expression.  But the information is useful for assertions in the
non-JIT case too (for assertions), therefore it makes sense to move
it.

This will, in a followup commit, allow to treat different slot types
differently. E.g. for virtual slots there's no need to generate a JIT
function to deform the slot.

Author: Andres Freund
Discussion: https://postgr.es/m/20181105210039.hh4vvi4vwoq5ba2q@alap3.anarazel.de

Files

PathChange+/−
src/backend/executor/execExpr.c modified +104 −0
src/backend/jit/llvm/llvmjit_expr.c modified +15 −29
src/include/executor/execExpr.h modified +5 −0

Discussion