On Sat, Dec 31, 2022 at 11:46 AM Jeff Davis <pg...@j-davis.com> wrote: > On Fri, 2022-12-30 at 16:58 -0800, Peter Geoghegan wrote: > > Following the path of freezing a page is *always* valid, by > > definition. Including when there are zero freeze plans to execute, or > > even zero tuples to examine in the first place -- we'll at least be > > able to perform nominal freezing, no matter what. > > This is a much clearer description, in my opinion. Do you think this is > already reflected in the comments (and I missed it)?
I am arguably the person least qualified to answer this question. :-) > Perhaps the comment in the "if (tuples_frozen == 0)" branch could be > something more like: > > "We have no freeze plans to execute, so there's no cost to following > the freeze path. This is important in the case where the page is > entirely frozen already, so that the page will be marked as such in the > VM." I'm happy to use your wording instead -- I'll come up with a patch for that. In my mind it's just a restatement of what's there already. I assume that you're right about it being clearer this way. > Of course, I'm sure there are some nuances that I'm still missing. I don't think that there is, actually. I now believe that you totally understand the mechanics involved here. I'm glad that I was able to ascertain that that's all it was. It's worth going to the trouble of getting something like this exactly right. -- Peter Geoghegan