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
Branch
------
REL_15_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/34baa313e31788e3a0ba251d5649b6e3ccfced26
Modified Files
--------------
src/backend/executor/nodeAgg.c | 2 +-
src/backend/executor/nodeIncrementalSort.c | 2 +-
src/backend/executor/nodeMemoize.c | 2 +-
src/backend/executor/nodeSort.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)