Tom Lane wrote:
> Claudio Natoli <claudio.natoli@memetrics.com> writes:
> > Tom, can you hold off on "unlink handling" part of the
> > implementation, at least for a few days?
>
> Love to ;-)
Figured this wouldn't cause you too much grief :-)
> > I'm testing a patch right now to work around this very
> > issue (involves, under win32, replacing _open() with CreateFile, which
> > accepts parameters to allow deletion of the held file.
> > Initial testing looks good, but it'll need community review).
>
> However, I don't see exactly how that can win?
Why not?
In any case, attached is the code I've currently got. Comments/criticisms
most welcome.
FWIW, replacing the call to open() (strictly, _open() under win32) in
BasicOpenFile (fd.c) with this win32_open() allows the regression tests to
pass through the transactions, foreign_key, and alter_table tests without
locking up (which is what they currently do). All in all, the change looks
sound, however I make no guarantee that a corner case has not been missed.
[One thing I have noticed is that database directories don't get removed
when dropping the db, leaving a whole stack of empty directories when
running the regression tests in a loop. However, this could very well be
pre-existing.]
Cheers,
Claudio
---
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>