Thread: Snapshot scalability patch issue
The call to heap_page_prune() within lazy_scan_heap() passes a bool literal ('false') as its fourth argument. But the fourth argument is of type TransactionId, not bool. This has been the case since the snapshot scalability work performed by commit dc7420c2c92. Surely something is amiss here. I also notice some inconsistencies in the heap_page_prune() prototype names vs the corresponding definition names. Might be worth doing something about in passing. -- Peter Geoghegan
Hi, On 2021-02-14 18:42:18 -0800, Peter Geoghegan wrote: > The call to heap_page_prune() within lazy_scan_heap() passes a bool > literal ('false') as its fourth argument. But the fourth argument is > of type TransactionId, not bool. This has been the case since the > snapshot scalability work performed by commit dc7420c2c92. Surely > something is amiss here. Looks like I accidentally swapped the InvalidTransactionId and false around - luckily they have the same actual bit pattern... I do wish C could pass arguments by name. I'll push something once I'm back at my computer... Greetings, Andres Freund
Hi, On 2021-02-15 15:08:40 -0800, Andres Freund wrote: > On 2021-02-14 18:42:18 -0800, Peter Geoghegan wrote: > > The call to heap_page_prune() within lazy_scan_heap() passes a bool > > literal ('false') as its fourth argument. But the fourth argument is > > of type TransactionId, not bool. This has been the case since the > > snapshot scalability work performed by commit dc7420c2c92. Surely > > something is amiss here. > > Looks like I accidentally swapped the InvalidTransactionId and false > around - luckily they have the same actual bit pattern... > > I do wish C could pass arguments by name. > > I'll push something once I'm back at my computer... Done. Thanks for noticing/reporting! Greetings, Andres Freund
On Mon, Feb 15, 2021 at 5:30 PM Andres Freund <andres@anarazel.de> wrote: > Done. Thanks for noticing/reporting! Great, thanks! -- Peter Geoghegan