Re: Show various offset arrays for heap WAL records
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Melanie Plageman <melanieplageman@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org, Robert Haas <robertmhaas@gmail.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2023-04-10T00:12:30Z
Lists: pgsql-hackers
Attachments
- v1-0001-Fix-WAL-description-of-posting-list-updates.patch (application/x-patch) patch v1-0001
On Fri, Apr 7, 2023 at 4:46 PM Peter Geoghegan <pg@bowt.ie> wrote: > Pushed that one too. I noticed that the nbtree VACUUM and DELETE record types have their update/xl_btree_update arrays output incorrectly. We cannot use the generic array_desc() approach with xl_btree_update elements, because they're variable-width elements. The problem is that array_desc() only deals with fixed-width elements. I also changed some of the details around whitespace in arrays in the fixup patch (though I didn't do the same with objects). It doesn't seem useful to use so much whitespace for long arrays of integers (really page offset numbers). And I brought a few nbtree desc routines that still used ";" characters as punctuation in line with the new convention. Finally, the patch revises the guidelines written for rmgr desc routine authors. I don't think that we need to describe how to handle outputting whitespace in detail. It'll be quite natural for other rmgrs to use existing facilities such as array_desc() themselves, which makes whitespace type inconsistencies unlikely. I've tried to make the limits of the guidelines clear. The main goal is to avoid gratuitous inconsistencies, and to provide a standard way of doing things that many different rmgrs are likely to want to do, again and again. But individual rmgrs still have a certain amount of discretion, which seems like a good thing to me (the alternative requires that we fix at least a couple of things in nbtdesc.c and in heapdesc.c, which doesn't seem useful to me). -- Peter Geoghegan
Commits
-
Merge prune, freeze and vacuum WAL record formats
- f83d709760d8 17.0 landed
-
Add rmgrdesc README
- f0bd0b4489fa 17.0 landed
-
Refine the guidelines for rmgrdesc authors.
- c03c2eae0acb 16.0 landed
-
Fix Heap rmgr's desc output for infobits arrays.
- 96149a180d56 16.0 landed
-
Clarify nbtree posting list update desc issue.
- 26e65ebdb295 16.0 landed
-
Fix nbtree posting list update desc output.
- 5d6728e588c3 16.0 landed
-
Set cutoff xmin more aggressively when vacuuming a temporary table.
- a7212be8b9e0 14.0 cited