Re: Eliminate redundant tuple visibility check in vacuum
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Melanie Plageman <melanieplageman@gmail.com>,
Pg Hackers <pgsql-hackers@postgresql.org>, David Geier <geidav.pg@gmail.com>
Date: 2023-09-21T20:07:27Z
Lists: pgsql-hackers
On Thu, Sep 21, 2023 at 3:53 PM Robert Haas <robertmhaas@gmail.com> wrote: > > > static int heap_prune_chain(Buffer buffer, > > > OffsetNumber rootoffnum, > > > + int8 *htsv, > > > PruneState *prstate); > > > > Hm, do we really want to pass this explicitly to a bunch of functions? Seems > > like it might be better to either pass the PruneResult around or to have a > > pointer in PruneState? > > As far as I can see, 0002 adds it to one function (heap_page_pune) and > 0003 adds it to one more (heap_prune_chain). That's not much of a > bunch. I didn't read this carefully enough. Actually, heap_prune_chain() is the *only* function that gets int8 *htsv as an argument. I don't understand how that's a bunch ... unless there are later patches not shown here that you're worried abot. What happens in 0002 is a function getting PruneResult * as an argument, not int8 *htsv. Honestly I think 0002 and 0003 are ready to commit, if you're not too opposed to them, or if we can find some relatively small changes that would address your objections. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
-
Remove retry loop in heap_page_prune().
- 1ccc1e05ae8f 17.0 landed
-
Return data from heap_page_prune via a struct.
- 4e9fc3a97620 17.0 landed