From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: PreallocXlogFiles |
Date: | 2004-07-24 20:31:05 |
Message-ID: | 1090701065.3057.113.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, 2004-07-24 at 15:22, Tom Lane wrote:
> Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> > Calling PreallocXlogFiles outside of the Checkpoint code is
> > straightforward to initiate from bgwriter.c, but the caller must have
> > already obtained the current recptr position. That would require
> > attempting to gain a lock on XLogCtl, then releasing it quickly after
> > having read the pointer. Then call Prealloc...
>
> When I said "modified version", I meant that we'd change the function
> to make it self-contained. Passing an already-obtained recptr is
> convenient when it's being invoked at the end of Checkpoint, but to
> be called from the bgwriter loop it should just get the necessary lock
> and fetch the pointer for itself.
>
Whichever...I envisaged a new wrapper function in xlog.c, called from
bgwriter.c, rather than changing Prealloc..
Your way sounds better. Leave parms the same, just put an if
recptr==NULL then {get recptr} section of code.
Main point: nearly out of time, if I'm to finish other things on
must-complete list: docs and backup start/end function design.
Best Regards, Simon Riggs
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2004-07-24 20:35:10 | Re: [HACKERS] Point in Time Recovery |
Previous Message | Tom Lane | 2004-07-24 20:08:19 | Re: make LockRelation use top transaction ID |