Re: Incorrect result of bitmap heap scan.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Peter Geoghegan <pg@bowt.ie>,
Matthias van de Meent <boekewurm+postgres@gmail.com>,
Konstantin Knizhnik <knizhnik@garret.ru>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-12-02T17:02:39Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > I think the problematic scenario involves tuples that *nobody* can see. During > the bitmap index scan we don't know that though. Thus the tid gets inserted > into the bitmap. Then, before we visit the heap, a concurrent vacuum removes > the tuple from the indexes and then the heap and marks the page as > all-visible, as the deleted row version has been removed. Yup. I am saying that that qualifies as too-aggressive setting of the all-visible bit. I'm not sure what rule we should adopt instead of the current one, but I'd much rather slow down page freezing than institute new page locking rules. regards, tom lane
Commits
-
Add test for HeapBitmapScan's broken skip_fetch optimization
- 24da5b239a4b 18.0 landed
-
Remove HeapBitmapScan's skip_fetch optimization
- 459e7bf8e2f8 18.0 landed
- b9ec8125d167 13.21 landed
- 4934d38759cd 14.18 landed
- 77d90d6d6334 15.13 landed
- 980727b84107 16.9 landed
- 78cb2466f752 17.5 landed
-
Allow bitmap scans to operate as index-only scans when possible.
- 7c70996ebf09 11.0 cited