| From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
|---|---|
| To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Merge compact/non compact commits, make aborts dynamically sized |
| Date: | 2015-03-02 17:23:56 |
| Message-ID: | 54F49CAC.5000402@iki.fi |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 03/02/2015 07:14 PM, Andres Freund wrote:
> On 2015-03-02 19:11:15 +0200, Heikki Linnakangas wrote:
>> Come to think of it, it would be cleaner anyway to move the
>> XLogBeginInsert() and XLogInsert() calls inside XactEmitCommitRecord. Then
>> those structs don't need to be static either.
>
> That was my first thought as well - but it doesn't easily work because
> of the way commit/abort records are embedded into twophase.c. I
> couldn't come with a simple way to change that, and anythign non simple
> imo defeats the purpose.
Pass the prepared XID as yet another argument to XactEmitCommitRecord,
and have XactEmitCommitRecord emit the xl_xact_commit_prepared part of
the record too. It might even make sense to handle the prepared XID like
all the other optional fields and add an xinfo flag for it.
- Heikki
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2015-03-02 17:39:52 | Re: Additional role attributes && superuser review |
| Previous Message | Andres Freund | 2015-03-02 17:22:38 | Re: deparsing utility commands |