On Fri, Nov 20, 2020 at 04:56:38PM +0100, Peter Eisentraut wrote: > On 2020-10-17 21:21, Justin Pryzby wrote: > > Added at:https://commitfest.postgresql.org/30/2766/ > > > > diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c > > index 41317f1837..7345971507 100644 > > --- a/src/backend/commands/explain.c > > +++ b/src/backend/commands/explain.c > > @@ -839,7 +839,8 @@ ExplainPrintJIT(ExplainState *es, int jit_flags, > > JitInstrumentation *ji) > > instr_time total_time; > > /* don't print information if no JITing happened */ > > - if (!ji || ji->created_functions == 0) > > + if (!ji || (ji->created_functions == 0 && > > + es->format == EXPLAIN_FORMAT_TEXT)) > > return; > > /* calculate total time */ > > Can you show an output example of where this patch makes a difference? Just > from reading the description, I would expect some kind of additional > JIT-related output from something like > > EXPLAIN (FORMAT YAML) SELECT 1;
It matters if it was planned with jit but executed without jit. postgres=# DEALLOCATE p; SET jit=on; SET jit_above_cost=0; prepare p as select from generate_series(1,9); explain(format yaml) execute p; SET jit=off; explain(format yaml) execute p; Patched shows this for both explains: JIT: + Functions: 3 + Unpatched shows only in the first case. -- Justin