Re: XLog: how to log?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: XLog: how to log?
Date: 2004-05-11 03:05:13
Message-ID: 24517.1084244713@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> writes:
> A simple idea would be to add the committed subxact Xids to the
> xl_xact_commit and xl_xact_abort structs. However, this will be a
> variable length array, and those structs already have variable length
> arrays at the end (filenodes to drop). I don't see how would I overlay
> that into a C struct.

Just means you have to do some address arithmetic instead of being able
to reference the additional data as a struct member. Tedious but hardly
difficult. See for instance the handling of "move" data in
XLOG_HEAP_MOVE records, or "unused" data in XLOG_HEAP_CLEAN.

I'd not recommend emitting additional xlog records unless there's a
genuine log-semantics-related reason for doing so. (Thinks about it...)
It seems like you'd want to emit a subtrans abort record to carry
information about file deletions, but there's no real need to emit
subtrans commit records, is there?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shachar Shemesh 2004-05-11 05:58:00 Re: tinyint
Previous Message Christopher Browne 2004-05-11 01:13:06 Re: Hacking MySQL Database