Re: logical changeset generation v6.2

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: logical changeset generation v6.2
Date: 2013-10-21 18:27:37
Message-ID: 20131021182737.GJ2968@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2013-10-21 14:22:17 -0400, Robert Haas wrote:
> On Mon, Oct 21, 2013 at 1:52 PM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> >> > In my opinion, (4) is too ugly to consider. I think that if we start
> >> > playing games like this, we're opening up the doors to lots of subtle
> >> > bugs and future architectural pain that will be with us for many, many
> >> > years to come. I believe we will bitterly regret any foray into this
> >> > area.
> >>
> >> Hm. After looking at the required code - which you obviously cannot have
> >> yet - it's not actually too bad. Will post a patch implementing it later.
> >>
> >> I don't really buy the architectural argument since originally cmin/cmax
> >> *were* both stored. It's not something we're just inventing now. We just
> >> optimized that away but now have discovered that's not always a good
> >> idea and thus don't always use the optimization.
> >>
> >> The actual decoding code shrinks by about 200 lines using this logic
> >> which is a hint that it's not a bad idea.
> >
> > So, here's a preliminary patch to see how this would look. It'd be great
> > of you comment if you still think it's a completel no-go.
> >
> > If it were for real, it'd need to be split and some minor things would
> > need to get adjusted, but I think it's easier to review it seing both
> > sides at once.
>
> I think it's a complete no-go. Consider, e.g., the comment for
> MaxTupleAttributeNumber, which you've blithely falsified. Even if you
> update the comment and the value, I'm not inspired by the idea of
> subtracting 32 from that number; even if it weren't already too small,
> it would break pg_upgrade for any users who are on the edge.

Well, we only need to support it for (user_)catalog tables. So
pg_upgrade isn't a problem. And I don't really see a problem restricting
the number of columns for such tables.

> Things
> aren't looking too good for anything that uses HeapTupleFields,
> either; consider rewrite_heap_tuple().

Well, that currently works, by copying cmax. Since rewriting triggered
the change, I am pretty sure I've actually tested & hit that path...

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gavin Flower 2013-10-21 18:40:36 Re: Commitfest II CLosed
Previous Message Robert Haas 2013-10-21 18:22:17 Re: logical changeset generation v6.2