mirror of
https://github.com/postgres/postgres.git
synced 2025-06-16 06:01:02 +03:00
Fix issues around EXPLAIN with JIT.
I (Andres) was more than a bit hasty in committing33001fd7a7
after last minute changes, leading to a number of problems (jit output was only shown for JIT in parallel workers, and just EXPLAIN without ANALYZE didn't work). Lukas luckily found these issues quickly. Instead of combining instrumentation in in standard_ExecutorEnd(), do so on demand in the new ExplainPrintJITSummary(). Also update a documentation example of the JIT output, changed in52050ad8eb
. Author: Lukas Fittl, with minor changes by me Discussion: https://postgr.es/m/CAP53PkxmgJht69pabxBXJBM+0oc6kf3KHMborLP7H2ouJ0CCtQ@mail.gmail.com Backpatch: 11, where JIT compilation was introduced
This commit is contained in:
@ -495,21 +495,6 @@ standard_ExecutorEnd(QueryDesc *queryDesc)
|
||||
|
||||
ExecEndPlan(queryDesc->planstate, estate);
|
||||
|
||||
/*
|
||||
* If this process has done JIT, either merge stats into worker stats, or
|
||||
* use this process' stats as the global stats if no parallelism was used
|
||||
* / no workers did JIT.
|
||||
*/
|
||||
if (estate->es_instrument && queryDesc->estate->es_jit)
|
||||
{
|
||||
if (queryDesc->estate->es_jit_combined_instr)
|
||||
InstrJitAgg(queryDesc->estate->es_jit_combined_instr,
|
||||
&queryDesc->estate->es_jit->instr);
|
||||
else
|
||||
queryDesc->estate->es_jit_combined_instr =
|
||||
&queryDesc->estate->es_jit->instr;
|
||||
}
|
||||
|
||||
/* do away with our snapshots */
|
||||
UnregisterSnapshot(estate->es_snapshot);
|
||||
UnregisterSnapshot(estate->es_crosscheck_snapshot);
|
||||
|
Reference in New Issue
Block a user