From 20df3fb6b0f2ab7f0391738a99958da91a22a114 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sun, 24 Jul 2022 01:03:11 +1200 Subject: [PATCH 05/13] Remove configure probes for readlink, and dead code and docs. readlink() is in SUSv2 and all targeted Unix systems have it. --- configure | 2 +- configure.ac | 1 - doc/src/sgml/ref/create_tablespace.sgml | 4 ---- src/backend/access/transam/xlog.c | 12 ------------ src/backend/replication/basebackup.c | 13 ------------- src/backend/utils/adt/misc.c | 8 -------- src/bin/initdb/findtimezone.c | 2 +- src/bin/pg_rewind/file_ops.c | 5 ----- src/common/exec.c | 4 ++-- src/include/pg_config.h.in | 3 --- src/tools/msvc/Solution.pm | 1 - 11 files changed, 4 insertions(+), 51 deletions(-) diff --git a/configure b/configure index 62ff8250d4..6e10773263 100755 --- a/configure +++ b/configure @@ -16039,7 +16039,7 @@ fi LIBS_including_readline="$LIBS" LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'` -for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s poll posix_fallocate ppoll pthread_is_threaded_np readlink readv setproctitle setproctitle_fast strchrnul strsignal symlink syncfs sync_file_range uselocale wcstombs_l writev +for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred inet_pton kqueue mbstowcs_l memset_s poll posix_fallocate ppoll pthread_is_threaded_np readv setproctitle setproctitle_fast strchrnul strsignal symlink syncfs sync_file_range uselocale wcstombs_l writev do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" diff --git a/configure.ac b/configure.ac index eb29046398..b4015aebb4 100644 --- a/configure.ac +++ b/configure.ac @@ -1805,7 +1805,6 @@ AC_CHECK_FUNCS(m4_normalize([ posix_fallocate ppoll pthread_is_threaded_np - readlink readv setproctitle setproctitle_fast diff --git a/doc/src/sgml/ref/create_tablespace.sgml b/doc/src/sgml/ref/create_tablespace.sgml index 84fa7ee5e2..9d5ab02526 100644 --- a/doc/src/sgml/ref/create_tablespace.sgml +++ b/doc/src/sgml/ref/create_tablespace.sgml @@ -127,10 +127,6 @@ CREATE TABLESPACE tablespace_name Notes - - Tablespaces are only supported on systems that support symbolic links. - - CREATE TABLESPACE cannot be executed inside a transaction block. diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 15ab8d90d4..26fbed00a4 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -8305,7 +8305,6 @@ do_pg_backup_start(const char *backupidstr, bool fast, TimeLineID *starttli_p, if (get_dirent_type(fullpath, de, false, ERROR) != PGFILETYPE_LNK) continue; -#if defined(HAVE_READLINK) || defined(WIN32) rllen = readlink(fullpath, linkpath, sizeof(linkpath)); if (rllen < 0) { @@ -8358,17 +8357,6 @@ do_pg_backup_start(const char *backupidstr, bool fast, TimeLineID *starttli_p, ti->oid, escapedpath.data); pfree(escapedpath.data); -#else - - /* - * If the platform does not have symbolic links, it should not be - * possible to have tablespaces - clearly somebody else created - * them. Warn about it and ignore. - */ - ereport(WARNING, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("tablespaces are not supported on this platform"))); -#endif } FreeDir(tblspcdir); diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c index 637c0ce459..1a569e2582 100644 --- a/src/backend/replication/basebackup.c +++ b/src/backend/replication/basebackup.c @@ -1328,7 +1328,6 @@ sendDir(bbsink *sink, const char *path, int basepathlen, bool sizeonly, #endif ) { -#if defined(HAVE_READLINK) || defined(WIN32) char linkpath[MAXPGPATH]; int rllen; @@ -1347,18 +1346,6 @@ sendDir(bbsink *sink, const char *path, int basepathlen, bool sizeonly, size += _tarWriteHeader(sink, pathbuf + basepathlen + 1, linkpath, &statbuf, sizeonly); -#else - - /* - * If the platform does not have symbolic links, it should not be - * possible to have tablespaces - clearly somebody else created - * them. Warn about it and ignore. - */ - ereport(WARNING, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("tablespaces are not supported on this platform"))); - continue; -#endif /* HAVE_READLINK */ } else if (S_ISDIR(statbuf.st_mode)) { diff --git a/src/backend/utils/adt/misc.c b/src/backend/utils/adt/misc.c index 89690be2ed..af0d924459 100644 --- a/src/backend/utils/adt/misc.c +++ b/src/backend/utils/adt/misc.c @@ -302,8 +302,6 @@ pg_tablespace_location(PG_FUNCTION_ARGS) tablespaceOid == GLOBALTABLESPACE_OID) PG_RETURN_TEXT_P(cstring_to_text("")); -#if defined(HAVE_READLINK) || defined(WIN32) - /* * Find the location of the tablespace by reading the symbolic link that * is in pg_tblspc/. @@ -349,12 +347,6 @@ pg_tablespace_location(PG_FUNCTION_ARGS) targetpath[rllen] = '\0'; PG_RETURN_TEXT_P(cstring_to_text(targetpath)); -#else - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("tablespaces are not supported on this platform"))); - PG_RETURN_NULL(); -#endif } /* diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c index ddb65e6489..dc1d4e9a49 100644 --- a/src/bin/initdb/findtimezone.c +++ b/src/bin/initdb/findtimezone.c @@ -544,7 +544,7 @@ static bool check_system_link_file(const char *linkname, struct tztry *tt, char *bestzonename) { -#ifdef HAVE_READLINK +#ifndef WIN32 char link_target[MAXPGPATH]; int len; const char *cur_name; diff --git a/src/bin/pg_rewind/file_ops.c b/src/bin/pg_rewind/file_ops.c index 6cb288f099..5e6d8b89c4 100644 --- a/src/bin/pg_rewind/file_ops.c +++ b/src/bin/pg_rewind/file_ops.c @@ -437,7 +437,6 @@ recurse_dir(const char *datadir, const char *parentpath, else if (pgwin32_is_junction(fullpath)) #endif { -#if defined(HAVE_READLINK) || defined(WIN32) char link_target[MAXPGPATH]; int len; @@ -460,10 +459,6 @@ recurse_dir(const char *datadir, const char *parentpath, if ((parentpath && strcmp(parentpath, "pg_tblspc") == 0) || strcmp(path, "pg_wal") == 0) recurse_dir(datadir, path, callback); -#else - pg_fatal("\"%s\" is a symbolic link, but symbolic links are not supported on this platform", - fullpath); -#endif /* HAVE_READLINK */ } } diff --git a/src/common/exec.c b/src/common/exec.c index f7d44b0956..2a398f1eb1 100644 --- a/src/common/exec.c +++ b/src/common/exec.c @@ -254,7 +254,7 @@ find_my_exec(const char *argv0, char *retpath) static int resolve_symlinks(char *path) { -#ifdef HAVE_READLINK +#ifndef WIN32 struct stat buf; char orig_wd[MAXPGPATH], link_buf[MAXPGPATH]; @@ -333,7 +333,7 @@ resolve_symlinks(char *path) _("could not change directory to \"%s\": %m"), orig_wd); return -1; } -#endif /* HAVE_READLINK */ +#endif /* !WIN32 */ return 0; } diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 9a3372f7de..9fc0298f7d 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -435,9 +435,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_READLINE_READLINE_H -/* Define to 1 if you have the `readlink' function. */ -#undef HAVE_READLINK - /* Define to 1 if you have the `readv' function. */ #undef HAVE_READV diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index e3b60a773a..f9aec9494e 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -339,7 +339,6 @@ sub GenerateFiles HAVE_READLINE_H => undef, HAVE_READLINE_HISTORY_H => undef, HAVE_READLINE_READLINE_H => undef, - HAVE_READLINK => undef, HAVE_READV => undef, HAVE_RL_COMPLETION_MATCHES => undef, HAVE_RL_COMPLETION_SUPPRESS_QUOTE => undef, -- 2.30.2