On Thu, 15 Oct 2020 at 14:15, Tom Lane <t...@sss.pgh.pa.us> wrote: > > David Rowley <dgrowle...@gmail.com> writes: > > Just for some reference. Some wisdom was shared in [1], which made a > > lot of sense to me. > > If we apply that, then we just need to decide if displaying any jit > > related fields without any jitted expressions is relevant. > > Hmm, I dunno if my opinion counts as "wisdom", but what I was arguing for > there was that we should print stuff if it's potentially invoked by a > run-time decision, but not if it was excluded at plan time. I'm not > totally clear on whether jitting decisions are fixed by the plan tree > (including its cost values) or if the executor can make different > decisions in different executions of the identical plan tree. > If the latter, then I agree with Justin that this is a bug.
As far as I know, the only exception where the executor overwrites the planner's decision is in nodeValuesscan.c where it turns jit off because each VALUES will get evaluated just once, which would be a waste of effort to JIT. Apart from that the choice is baked in by the planner and set in PlannedStmt.jitfFlags. David