Heikki Linnakangas <hlinnakan...@vmware.com> writes: > Two things that are not bugs, but I'd like to change just to make this > tool easier to maintain, and to generally clean things up:
> 1. When creating a sequence, we first use simple_heap_insert() to insert > the sequence tuple, which creates a WAL record. Then we write a new > sequence RM WAL record about the same thing. The reason is that the WAL > record written by regular heap_insert is bogus for a sequence tuple. > After replaying just the heap insertion, but not the other record, the > page doesn't have the magic value indicating that it's a sequence, i.e. > it's broken as a sequence page. That's OK because we only do this when > creating a new sequence, so if we crash between those two records, the > whole relation is not visible to anyone. Nevertheless, I'd like to fix > that by using PageAddItem directly to insert the tuple, instead of > simple_heap_insert. We have to override the xmin field of the tuple > anyway, and we don't need any of the other services like finding the > insert location, toasting, visibility map or freespace map updates, that > simple_heap_insert() provides. > 2. _bt_restore_page, when restoring a B-tree page split record. It adds > tuples to the page in reverse order compared to how it's done in master. > There is a comment noting that, and it asks "Is it worth changing just > on general principles?". Yes, I think it is. > Any objections to changing those two? Not here. I've always suspected #2 was going to bite us someday anyway. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers