On Tue, May 13, 2008 at 10:34:23AM -0400, Tom Lane wrote:
> Gavin Sherry <swm@alcove.com.au> writes:
> > There's an apparently arbitary limit of 10,000,000 bytes in twophase.c
> > on the size of a two phase commit file. I can't see why this limit
> > exists.
>
> The comment seems perfectly clear about why the limit exists:
>
> * Check file length. We can determine a lower bound pretty easily. We
> * set an upper bound mainly to avoid palloc() failure on a corrupt file.
Oops. Where was my brain?
> Perhaps it'd be better to use malloc() than palloc(), so that we'd not
> lose control on out-of-memory, and then deem the file "too big" only
> if we couldn't malloc the space.
That seems better.
Thanks,
Gavin