pgsql: Fix lstat() for broken junction points on Windows. - Mailing list pgsql-committers

From Andrew Dunstan
Subject pgsql: Fix lstat() for broken junction points on Windows.
Date
Msg-id E1t9Bms-000hQL-Ml@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix lstat() for broken junction points on Windows.

When using junction points to emulate symlinks on Windows, one edge case
was not handled correctly by commit c5cb8f3b: if a junction point is
broken (pointing to a non-existent path), we'd report ENOENT.  This
doesn't break any known use case, but was noticed while developing a
test suite for these functions and is fixed here for completeness.

Also add translation ERROR_CANT_RESOLVE_FILENAME -> ENOENT, as that is
one of the errors Windows can report for some kinds of broken paths.

Discussion: https://postgr.es/m/CA%2BhUKG%2BajSQ_8eu2AogTncOnZ5me2D-Cn66iN_-wZnRjLN%2Bicg%40mail.gmail.com
(cherry picked from commit 387803d81d6256fcb60b9192bb5b00042442b4e3)

Author: Thomas Munro <tmunro@postgresql.org>
Author: Alexandra Wang <alexandra.wang.oss@gmail.com>

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8a5e4982f9c536fafa4ae9b7c331ee656ded2fe5
Author: Thomas Munro <tmunro@postgresql.org>

Modified Files
--------------
src/port/win32error.c |  6 ++++++
src/port/win32stat.c  | 27 ++++++++++++++++++++++-----
2 files changed, 28 insertions(+), 5 deletions(-)


pgsql-committers by date:

Previous
From: Andrew Dunstan
Date:
Subject: pgsql: Provide lstat() for Windows.
Next
From: Richard Guo
Date:
Subject: pgsql: Fix inconsistent RestrictInfo serial numbers