postgresql/src/common
Thomas Munro ca9921936e Replace pgwin32_is_junction() with lstat().
Now that lstat() reports junction points with S_IFLNK/S_ISLINK(), and
unlink() can unlink them, there is no need for conditional code for
Windows in a few places.  That was expressed by testing for WIN32 or
S_ISLNK, which we can now constant-fold.

The coding around pgwin32_is_junction() was a bit suspect anyway, as we
never checked for errors, and we also know that errors can be spuriously
reported because of transient sharing violations on this OS.  The
lstat()-based code has handling for that.

This also reverts 4fc6b6ee on master only.  That was done because
lstat() didn't previously work for symlinks (junction points), but now
it does.

Tested-by: Andrew Dunstan <andrew@dunslane.net>
Discussion: https://postgr.es/m/CA%2BhUKGLfOOeyZpm5ByVcAt7x5Pn-%3DxGRNCvgiUPVVzjFLtnY0w%40mail.gmail.com
(cherry picked from commit 5fc88c5d53)

Author: Thomas Munro <tmunro@postgresql.org>
Author: Alexandra Wang <alexandra.wang.oss@gmail.com>
2024-11-08 09:36:53 +10:30
..
unicode Update copyright for 2021 2021-01-02 13:06:25 -05:00
.gitignore Replace the data structure used for keyword lookup. 2019-01-06 17:02:57 -05:00
archive.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
base64.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
checksum_helper.c Add result size as argument of pg_cryptohash_final() for overflow checks 2021-02-15 10:18:34 +09:00
config_info.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
controldata_utils.c Try to handle torn reads of pg_control in frontend. 2023-10-16 17:23:25 +13:00
cryptohash.c Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
cryptohash_openssl.c Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
d2s.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
d2s_full_table.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
d2s_intrinsics.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
digit_table.h Change floating-point output format for improved performance. 2019-02-13 15:20:33 +00:00
encnames.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
exec.c Make EXEC_BACKEND more convenient on Linux and FreeBSD. 2023-02-08 13:09:27 +09:00
f2s.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
fe_memutils.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
file_perm.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
file_utils.c Replace pgwin32_is_junction() with lstat(). 2024-11-08 09:36:53 +10:30
hashfn.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
hmac.c Fix incorrect comments in hmac.c and hmac_openssl.c 2022-01-13 09:43:44 +09:00
hmac_openssl.c Fix incorrect comments in hmac.c and hmac_openssl.c 2022-01-13 09:43:44 +09:00
ip.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
jsonapi.c Fix overread in JSON parsing errors for incomplete byte sequences 2024-05-09 12:45:48 +09:00
keywords.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
kwlookup.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
link-canary.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
logging.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
Makefile Revert refactoring of hex code to src/common/ 2021-08-19 09:20:19 +09:00
md5.c Make fallback MD5 implementation thread-safe on big-endian systems 2024-08-07 10:44:16 +03:00
md5_common.c Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
md5_int.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_get_line.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_lzcompress.c Improve pglz_decompress's defenses against corrupt compressed data. 2023-10-18 20:43:17 -04:00
pgfnames.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
protocol_openssl.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
psprintf.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
relpath.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
restricted_token.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
rmtree.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
ryu_common.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
saslprep.c Guard against enormously long input in pg_saslprep(). 2024-10-28 14:33:55 -04:00
scram-common.c Refactor HMAC implementations 2021-04-03 17:30:49 +09:00
sha1.c Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
sha1_int.h Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
sha2.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
sha2_int.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
sprompt.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
string.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
stringinfo.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
unicode_norm.c Fix buffer overrun in unicode string normalization with empty input 2021-11-11 15:01:45 +09:00
username.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
wait_error.c Update copyright for 2021 2021-01-02 13:06:25 -05:00
wchar.c Fix incautious handling of possibly-miscoded strings in client code. 2021-06-07 14:15:25 -04:00