On Tue, 1 Jul 2003, Stuart wrote:
> Tom Lane wrote:
>
> > Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> >
> >>As a side question, it looks to me that the code stores the first trigger
> >>records in memory and then after some point starts storing all new records
> >>on disk. Is this correct? I'd wonder if that's really what you want in
> >>general, since I'd think that the earliest ones are the ones you're least
> >>likely to need until end of transaction (or set constraints in the fk
> >>case) whereas the most recent ones are possibly going to be immediate
> >>triggers which you're going to need as soon as the statement is done.
> >
> >
> > Good point. It would be better to push out stuff from the head of the
> > queue, hoping that stuff near the end might never need to be written
> > at all.
> >
> > regards, tom lane
> Hmmm.... I see your point. I will change the patch to write the head to
> disk and reenter when the development branch splits off.
> Also I've noticed that there is an fd.h which has file routines which I
> should be using rather than the stdio routines.
> I will also clean up those errors.
Hmm, it also looks like the original patch broke deferred foreign keys.
You'd not have noticed it since I'd forgotten the case in question for
the foreign key regression tests. I'm going to make a patch for the
tests since we should be testing that in any case.