Content-Length: 264728 | pFad | http://github.com/postgrespro/postgres_cluster/commit/6393613b6a1e0feae3d22af608397b252cee5b58

C2 Fix possible crash with Parallel Bitmap Heap Scan. · postgrespro/postgres_cluster@6393613 · GitHub
Skip to content

Commit 6393613

Browse files
committed
Fix possible crash with Parallel Bitmap Heap Scan.
If a Parallel Bitmap Heap scan's chain of leftmost descendents includes a BitmapOr whose first child is a BitmapAnd, the prior coding would mistakenly create a non-shared TIDBitmap and then try to perform shared iteration. Report by Tomas Vondra. Patch by Dilip Kumar. Discussion: http://postgr.es/m/50e89684-8ad9-dead-8767-c9545bafd3b6@2ndquadrant.com
1 parent 7393711 commit 6393613

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/backend/optimizer/plan/createplan.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4933,7 +4933,11 @@ bitmap_subplan_mark_shared(Plan *plan)
49334933
bitmap_subplan_mark_shared(
49344934
linitial(((BitmapAnd *) plan)->bitmapplans));
49354935
else if (IsA(plan, BitmapOr))
4936+
{
49364937
((BitmapOr *) plan)->isshared = true;
4938+
bitmap_subplan_mark_shared(
4939+
linitial(((BitmapOr *) plan)->bitmapplans));
4940+
}
49374941
else if (IsA(plan, BitmapIndexScan))
49384942
((BitmapIndexScan *) plan)->isshared = true;
49394943
else

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/postgrespro/postgres_cluster/commit/6393613b6a1e0feae3d22af608397b252cee5b58

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy