Re: HAVE_WORKING_LINK still needed?

Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>

From: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-02-28T16:52:39Z
Lists: pgsql-hackers
On Fri, Feb 28, 2020 at 2:15 PM Peter Eisentraut <
peter.eisentraut@2ndquadrant.com> wrote:

> I came across the HAVE_WORKING_LINK define in pg_config_manual.h.
> AFAICT, hard links are supported on Windows and Cygwin in the OS
> versions that we support, and pg_upgrade already contains the required
> shim.  It seems to me we could normalize and simplify that, as in the
> attached patches.  (Perhaps rename durable_link_or_rename() then.)  I
> successfully tested on MSVC, MinGW, and Cygwin.
>

The link referenced in the comments of win32_pghardlink() [1] is quite old,
and is automatically redirected to the current documentation [2]. Maybe
this patch should use the new path.

[1] http://msdn.microsoft.com/en-us/library/aa363860(VS.85).aspx
[2]
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createhardlinka

Regards,

Juan José Santamaría Flecha

Commits

  1. Remove HAVE_WORKING_LINK

  2. Move pg_upgrade's Windows link() implementation to AC_REPLACE_FUNCS

  3. pg_standby: Don't use HAVE_WORKING_LINK

  4. Update Microsoft documentation link