diff.diff.no-cfbot

text/plain

Filename: diff.diff.no-cfbot
Type: text/plain
Part: 0
Message: Re: Parallel Bitmap Heap Scan reports per-worker stats in EXPLAIN ANALYZE
diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c
index 973bf56022d..ca8d94ba09a 100644
--- a/src/backend/executor/nodeBitmapHeapscan.c
+++ b/src/backend/executor/nodeBitmapHeapscan.c
@@ -634,8 +634,9 @@ ExecEndBitmapHeapScan(BitmapHeapScanState *node)
 	 */
 	if (node->sinstrument != NULL && IsParallelWorker())
 	{
+		BitmapHeapScanInstrumentation *si;
 		Assert(ParallelWorkerNumber <= node->sinstrument->num_workers);
-		BitmapHeapScanInstrumentation *si = &node->sinstrument->sinstrument[ParallelWorkerNumber];
+		si = &node->sinstrument->sinstrument[ParallelWorkerNumber];
 		si->exact_pages += node->stats.exact_pages;
 		si->lossy_pages += node->stats.lossy_pages;
 	}
@@ -864,7 +865,7 @@ ExecBitmapHeapInitializeDSM(BitmapHeapScanState *node,
 
 	ptr = shm_toc_allocate(pcxt->toc, size);
 	pstate = (ParallelBitmapHeapState *) ptr;
-	ptr += MAXALIGN(sizeof(ParallelBitmapHeapState));
+	ptr += size;
 	if (node->ss.ps.instrument && pcxt->nworkers > 0)
 		sinstrument = (SharedBitmapHeapInstrumentation *) ptr;