Re: Merge compact/non compact commits, make aborts dynamically sized

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Merge compact/non compact commits, make aborts dynamically sized
Date: 2015-03-02 16:51:01
Message-ID: 20150302165101.GA22160@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015-02-25 12:10:42 +0100, Andres Freund wrote:
> On 2015-02-24 20:51:42 +0200, Heikki Linnakangas wrote:
> > Regarding XactEmitCommitRecord and XactEmitAbortRecord, I wonder if you
> > could pass an xl_xact_parsed/abort_commit struct to them, instead of the
> > individual fields? You could then also avoid the static variables inside it,
> > passing pointers to that struct to XLogRegisterData() instead.
>
> Hm, that's an idea. And rename it to xaxt_commit/abort_data?

So, I just tried this, and it doesn't really seem to come out as a net
positive. More code at the callsites and more complex code in the *Emit*
routines. It's impossible to use [FLEXIBLE_ARRAY_MEMBER] employing
datatypes in xact_commit_data while emitting because there obviously are
several chunks needing it. And avoid using it would make for a slightly
less clear format.

So unless you feel strongly about it, don't think so, I'll keep the
statics, even if they're not particularly pretty.

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 Sawada Masahiko 2015-03-02 16:58:56 Re: Proposal : REINDEX xxx VERBOSE
Previous Message Jan de Visser 2015-03-02 16:48:45 Re: Idea: closing the loop for "pg_ctl reload"