On Sat, 2004-07-24 at 15:22, Tom Lane wrote: > Simon Riggs <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match