mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-24 18:55:04 +08:00
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
This commit is contained in:
parent
73937119bf
commit
6393613b6a
@ -4933,7 +4933,11 @@ bitmap_subplan_mark_shared(Plan *plan)
|
||||
bitmap_subplan_mark_shared(
|
||||
linitial(((BitmapAnd *) plan)->bitmapplans));
|
||||
else if (IsA(plan, BitmapOr))
|
||||
{
|
||||
((BitmapOr *) plan)->isshared = true;
|
||||
bitmap_subplan_mark_shared(
|
||||
linitial(((BitmapOr *) plan)->bitmapplans));
|
||||
}
|
||||
else if (IsA(plan, BitmapIndexScan))
|
||||
((BitmapIndexScan *) plan)->isshared = true;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user