diff options
author | Thomas Munro <tmunro@postgresql.org> | 2022-08-05 09:22:56 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2022-08-05 09:22:56 +1200 |
commit | 2b1f580ee2ca373d0451d89a40fc8f0a5f55ede9 (patch) | |
tree | f752391d9be7ab5a8229c1f3c4e0e5f413e5d5ec /src/backend/commands/tablespace.c | |
parent | adeef67834cc3db14c36430c1421cf4ed8a809d3 (diff) | |
download | postgresql-2b1f580ee2ca373d0451d89a40fc8f0a5f55ede9.tar.gz postgresql-2b1f580ee2ca373d0451d89a40fc8f0a5f55ede9.zip |
Remove configure probes for symlink/readlink, and dead code.
symlink() and readlink() are in SUSv2 and all targeted Unix systems have
them. We have partial emulation on Windows. Code that raised runtime
errors on systems without it has been dead for years, so we can remove
that and also references to such systems in the documentation.
Define HAVE_READLINK and HAVE_SYMLINK macros on Unix. Our Windows
replacement functions based on junction points can't be used for
relative paths or for non-directories, so the macros can be used to
check for full symlink support. The places that deal with tablespaces
can just use symlink functions without checking the macros. (If they
did check the macros, they'd need to provide an #else branch with a
runtime or compile time error, and it'd be dead code.)
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CA+hUKGJ3LHeP9w5Fgzdr4G8AnEtJ=z=p6hGDEm4qYGEUX5B6fQ@mail.gmail.com
Diffstat (limited to 'src/backend/commands/tablespace.c')
-rw-r--r-- | src/backend/commands/tablespace.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c index 570ce3dbd54..526e82e388b 100644 --- a/src/backend/commands/tablespace.c +++ b/src/backend/commands/tablespace.c @@ -213,7 +213,6 @@ TablespaceCreateDbspace(Oid spcOid, Oid dbOid, bool isRedo) Oid CreateTableSpace(CreateTableSpaceStmt *stmt) { -#ifdef HAVE_SYMLINK Relation rel; Datum values[Natts_pg_tablespace]; bool nulls[Natts_pg_tablespace] = {0}; @@ -391,12 +390,6 @@ CreateTableSpace(CreateTableSpaceStmt *stmt) table_close(rel, NoLock); return tablespaceoid; -#else /* !HAVE_SYMLINK */ - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("tablespaces are not supported on this platform"))); - return InvalidOid; /* keep compiler quiet */ -#endif /* HAVE_SYMLINK */ } /* @@ -407,7 +400,6 @@ CreateTableSpace(CreateTableSpaceStmt *stmt) void DropTableSpace(DropTableSpaceStmt *stmt) { -#ifdef HAVE_SYMLINK char *tablespacename = stmt->tablespacename; TableScanDesc scandesc; Relation rel; @@ -573,11 +565,6 @@ DropTableSpace(DropTableSpaceStmt *stmt) /* We keep the lock on pg_tablespace until commit */ table_close(rel, NoLock); -#else /* !HAVE_SYMLINK */ - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("tablespaces are not supported on this platform"))); -#endif /* HAVE_SYMLINK */ } |