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;