Allocate separate DSM chunk for parallel Index[Only]Scan instrumentation Previously, parallel index and index-only scans packed the parallel scan descriptor and shared instrumentation (for EXPLAIN ANALYZE) into a single DSM allocation. Since scans may be instrumented without being parallel-aware, and vice versa, using separate DSM chunks -- each with its own TOC key -- is cleaner. A future commit will extend this pattern to other scan node types.
Author: Melanie Plageman <[email protected]> Reviewed-by: Tomas Vondra <[email protected]> Discussion: https://postgr.es/m/flat/a177a6dd-240b-455a-8f25-aca0b1c08c6e%40vondra.me Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/dd78e69cfc337f93cfc0303ddf660262d7f1237e Modified Files -------------- src/backend/access/index/indexam.c | 51 ++----------- src/backend/executor/execParallel.c | 40 +++++++--- src/backend/executor/nodeBitmapIndexscan.c | 9 ++- src/backend/executor/nodeIndexonlyscan.c | 114 +++++++++++++++++------------ src/backend/executor/nodeIndexscan.c | 114 +++++++++++++++++------------ src/include/access/genam.h | 7 +- src/include/access/relscan.h | 1 - src/include/executor/instrument_node.h | 8 ++ src/include/executor/nodeIndexonlyscan.h | 6 ++ src/include/executor/nodeIndexscan.h | 6 ++ 10 files changed, 202 insertions(+), 154 deletions(-)
