]> granicus.if.org Git - postgresql/commit
Prevent generating EEOP_AGG_STRICT_INPUT_CHECK operations when nargs == 0.
authorAndres Freund <andres@anarazel.de>
Sat, 3 Nov 2018 22:55:23 +0000 (15:55 -0700)
committerAndres Freund <andres@anarazel.de>
Sat, 3 Nov 2018 23:00:00 +0000 (16:00 -0700)
commit6eb31cedb316d59bf9c63658868ff0fcddcc085a
tree8a868b1869cb8aa547179ca2129d98e95489903c
parentfd59b29c873915064f7af6a33c968c97e0d59166
Prevent generating EEOP_AGG_STRICT_INPUT_CHECK operations when nargs == 0.

This only became a problem with 4c640f4f38, which didn't synchronize
the value agg_strict_input_check.nargs is set to, with the guard
condition for emitting the operation.

Besides such instructions being unnecessary overhead, currently the
LLVM JIT provider doesn't support them. It seems more sensible to
avoid generating such instruction than supporting them. Add assertions
to make it easier to debug a potential further occurance.

Discussion: https://postgr.es/m/2a505161-2727-2473-7c46-591ed108ac52@email.cz
Backpatch: 11-, like 4c640f4f38.
src/backend/executor/execExpr.c
src/backend/jit/llvm/llvmjit_expr.c