"Tom Lane" <tgl(at)svr1(dot)postgresql(dot)org> wrote
> Recognize ERROR_SHARING_VIOLATION (translate to EACCES), increase log
> level for unrecognized win32 error codes to LOG, and make messages
> conform to style guide.
This patch does not really work. This is because when mdread()/mdwrite()
fails, it does *not* call our own _dosmaperr() routine. Instead, it calls
the Win32 CRT's _dosmapperr() to do the translation (which fails to
translate ERROR_SHARING_VIOLATION either). If we want our _dosmaperr() to
play role in, we have to call it explicitely in mdread()/mdwrite() or lower
levels like FileRead()/FileWrite().
I would suggest don't revert this patch. When we get the feedback from
Jean-Pierre Pelletier, we can make the patch complete.
Regards,
Qingqing