Re: Issues with hash and GiST LP_DEAD setting for kill_prior_tuple

2025-07-22 Thread Amit Kapila
On Mon, Jul 21, 2025 at 9:29 PM Peter Geoghegan wrote: > > On Thu, Jul 17, 2025 at 7:27 PM Mihail Nikalayeu > wrote: > > > FWIW _hash_readpage has a comment about a stashed LSN, so it seems as > > > if this was barely missed by the work on hash indexes around 2017: > > > > I think commit 22c5e73

Re: Issues with hash and GiST LP_DEAD setting for kill_prior_tuple

2025-07-21 Thread Peter Geoghegan
On Thu, Jul 17, 2025 at 7:27 PM Mihail Nikalayeu wrote: > > FWIW _hash_readpage has a comment about a stashed LSN, so it seems as > > if this was barely missed by the work on hash indexes around 2017: > > I think commit 22c5e735 [0] (Remove lsn from HashScanPosData) is the > thing you are looking

Re: Issues with hash and GiST LP_DEAD setting for kill_prior_tuple

2025-07-17 Thread Mihail Nikalayeu
Hello, Peter! > FWIW _hash_readpage has a comment about a stashed LSN, so it seems as > if this was barely missed by the work on hash indexes around 2017: I think commit 22c5e735 [0] (Remove lsn from HashScanPosData) is the thing you are looking for in relation to hash. Best regards, Mikhail.

Re: Issues with hash and GiST LP_DEAD setting for kill_prior_tuple

2025-07-15 Thread Peter Geoghegan
On Tue, Jul 15, 2025 at 2:19 PM Peter Geoghegan wrote: > * gistkillitems() correctly checks if the page's LSN has changed in > the period between when we initially read the leaf page and the period > when/after we accessed the heap. But (unlike nbtree), it fails to > account for unlogged relations

Issues with hash and GiST LP_DEAD setting for kill_prior_tuple

2025-07-15 Thread Peter Geoghegan
Both hash and GiST indexes set LP_DEAD bits for kill_prior_tuple, using an approach based on that of nbtree. hash gained this ability in commit 6977b8b7f4, while GiST gained it in commit 013ebc0a7b. gistkillitems() and _hash_kill_items() both have similar bugs: * gistkillitems() correctly checks