Tighten asserts on ParallelWorkerNumber
Tomas Vondra <tomas.vondra@postgresql.org>
Tighten asserts on ParallelWorkerNumber The comment about ParallelWorkerNumbr in parallel.c says: In parallel workers, it will be set to a value >= 0 and < the number of workers before any user code is invoked; each parallel worker will get a different parallel worker number. However asserts in various places collecting instrumentation allowed (ParallelWorkerNumber == num_workers). That would be a bug, as the value is used as index into an array with num_workers entries. Fixed by adjusting the asserts accordingly. Backpatch to all supported versions. Discussion: https://postgr.es/m/5db067a1-2cdf-4afb-a577-a04f30b69167@vondra.me Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> Backpatch-through: 14
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/nodeAgg.c | modified | +1 −1 |
| src/backend/executor/nodeIncrementalSort.c | modified | +1 −1 |
| src/backend/executor/nodeMemoize.c | modified | +1 −1 |
| src/backend/executor/nodeSort.c | modified | +1 −1 |
Discussion
- Tighten asserts on ParallelWorkerNumber a little bit 3 messages · 2026-03-12 → 2026-03-14