Re: [WIP] The relminxid addition, try 3 - Mailing list pgsql-patches

From Tom Lane
Subject Re: [WIP] The relminxid addition, try 3
Date
Msg-id 29645.1147121189@sss.pgh.pa.us
Whole thread Raw
In response to Re: [WIP] The relminxid addition, try 3  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-patches
Alvaro Herrera <alvherre@commandprompt.com> writes:
> Tom Lane wrote:
>> (Now, if you're combining this with the very grotty relpages/reltuples
>> update code, then I'm all for making that xlog properly --- we've gotten
>> away without it so far but it really should xlog the change.)

> I hadn't done that, but I'll see what I can do.  Notice however that I'm
> doing this in both pg_class _and_ pg_database.

It strikes me that the cleanest way to deal with this is to invent a
single new type of xlog record, something like HEAP_UPDATE_IN_PLACE,
which just replaces tuple contents with a new tuple of the same size.
This would serve for both stats updates and unfreezing in both pg_class
and pg_database, and might have other uses in future for
non-transactional updates.  It's a little bit more xlog space than your
unfreeze-specific operations, but I don't think we need to sweat a few
bytes for those; they're not likely to be common.

Barring objections, I'll add this when I refactor UpdateStats.  Got some
other work I need to get back to right now, though.

            regards, tom lane

pgsql-patches by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: Building with Visual C++
Next
From: Simon Riggs
Date:
Subject: Re: Page at a time index scan