On Sat, Jun 22, 2024 at 10:43 AM Melanie Plageman <melanieplage...@gmail.com> wrote: > Hmm. So perhaps this subtraction results in the desired behavior for > freeze limit -- but by using FreezeLimit as the cutoff_xid for > heap_prepare_freeze_tuple(), you can still end up considering freezing > tuples with xmax older than OldestXmin.
Using a FreezeLimit > OldestXmin is just wrong. I don't think that that even needs to be discussed. > This results in erroring out with "cannot freeze committed xmax" on 16 > and master but not erroring out like this in 14 and 15 for the same > tuple and cutoff values. I don't follow. I thought that 16 and master don't have this particular problem? Later versions don't use safeLimit as FreezeLimit like this. -- Peter Geoghegan