Thread

Commits

  1. Ensure HAVE_DECL_XXX macros in MSVC builds match those in Unix.

  1. Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Tom Lane <tgl@sss.pgh.pa.us> — 2021-07-12T23:46:32Z

    Autoconf's AC_CHECK_DECLS always defines HAVE_DECL_whatever
    as 1 or 0, but some of the entries in msvc/Solution.pm show
    such symbols as "undef" instead.  Shouldn't we fix it as
    per attached?  This is probably only cosmetic at the moment,
    but it could bite us someday if someone wrote a complex
    conditional using one of these symbols.
    
    These apparently-bogus values date to Peter's 8f4fb4c64,
    which created that table; but AFAICS it was just faithfully
    emulating the previous confused state of affairs.
    
    			regards, tom lane
    
    
  2. Re: Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Michael Paquier <michael@paquier.xyz> — 2021-07-13T01:56:42Z

    On Mon, Jul 12, 2021 at 07:46:32PM -0400, Tom Lane wrote:
    > Autoconf's AC_CHECK_DECLS always defines HAVE_DECL_whatever
    > as 1 or 0, but some of the entries in msvc/Solution.pm show
    > such symbols as "undef" instead.  Shouldn't we fix it as
    > per attached?  This is probably only cosmetic at the moment,
    > but it could bite us someday if someone wrote a complex
    > conditional using one of these symbols.
    
    Hmm.  I have not tested, but agreed that this is inconsistent.  I
    would tend to vote for a backpatch to keep some consistency across the
    branches as changes in this area could easily lead to rather conflicts
    harder to parse.
    --
    Michael
    
  3. Re: Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2021-07-13T04:17:01Z

    On 13.07.21 01:46, Tom Lane wrote:
    > Autoconf's AC_CHECK_DECLS always defines HAVE_DECL_whatever
    > as 1 or 0, but some of the entries in msvc/Solution.pm show
    > such symbols as "undef" instead.  Shouldn't we fix it as
    > per attached?  This is probably only cosmetic at the moment,
    > but it could bite us someday if someone wrote a complex
    > conditional using one of these symbols.
    
    Yes, I think that is correct.
    
    
    
    
  4. Re: Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Tom Lane <tgl@sss.pgh.pa.us> — 2021-07-13T04:25:06Z

    Michael Paquier <michael@paquier.xyz> writes:
    > On Mon, Jul 12, 2021 at 07:46:32PM -0400, Tom Lane wrote:
    >> Autoconf's AC_CHECK_DECLS always defines HAVE_DECL_whatever
    >> as 1 or 0, but some of the entries in msvc/Solution.pm show
    >> such symbols as "undef" instead.  Shouldn't we fix it as
    >> per attached?  This is probably only cosmetic at the moment,
    >> but it could bite us someday if someone wrote a complex
    >> conditional using one of these symbols.
    
    > Hmm.  I have not tested, but agreed that this is inconsistent.  I
    > would tend to vote for a backpatch to keep some consistency across the
    > branches as changes in this area could easily lead to rather conflicts
    > harder to parse.
    
    That's easy enough in v13 and up, which have 8f4fb4c64 so that
    Solution.pm looks like this.  We could make it consistent in older
    branches by manually hacking pg_config.h.win32 ... but I'm wondering
    if the smarter plan wouldn't be to back-patch 8f4fb4c64.  Without
    that, we're at risk of messing up anytime we back-patch something
    that involves a change in the set of configure-defined symbols, which
    we do with some regularity.
    
    			regards, tom lane
    
    
    
    
  5. Re: Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Michael Paquier <michael@paquier.xyz> — 2021-07-13T07:53:21Z

    On Tue, Jul 13, 2021 at 12:25:06AM -0400, Tom Lane wrote:
    > That's easy enough in v13 and up, which have 8f4fb4c64 so that
    > Solution.pm looks like this.  We could make it consistent in older
    > branches by manually hacking pg_config.h.win32 ... but I'm wondering
    > if the smarter plan wouldn't be to back-patch 8f4fb4c64.  Without
    > that, we're at risk of messing up anytime we back-patch something
    > that involves a change in the set of configure-defined symbols, which
    > we do with some regularity.
    
    I was thinking to just do the easiest move and fix this issue down to
    13, not bothering about older branches :p
    
    Looking at the commit, a backpatch is not that complicated and it is
    possible to check the generation of pg_config.h on non-MSVC
    environments if some objects are missing.  Still, I think that it
    would be better to be careful and test this code properly on Windows
    with a real build.  It means that..  Err...  Andrew or I should look
    at that.  I am not sure that the potential maintenance gain is worth
    poking at the stable branches, to be honest.
    --
    Michael
    
  6. Re: Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Tom Lane <tgl@sss.pgh.pa.us> — 2021-07-13T13:58:09Z

    Michael Paquier <michael@paquier.xyz> writes:
    > On Tue, Jul 13, 2021 at 12:25:06AM -0400, Tom Lane wrote:
    >> That's easy enough in v13 and up, which have 8f4fb4c64 so that
    >> Solution.pm looks like this.  We could make it consistent in older
    >> branches by manually hacking pg_config.h.win32 ... but I'm wondering
    >> if the smarter plan wouldn't be to back-patch 8f4fb4c64.
    
    > ... I am not sure that the potential maintenance gain is worth
    > poking at the stable branches, to be honest.
    
    Fair enough.  I wasn't very eager to do the legwork on that, either,
    given that the issue is (so far) only cosmetic.
    
    			regards, tom lane
    
    
    
    
  7. Re: Bogus HAVE_DECL_FOO entries in msvc/Solution.pm

    Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2021-07-13T15:01:53Z

    On 13.07.21 09:53, Michael Paquier wrote:
    > I was thinking to just do the easiest move and fix this issue down to
    > 13, not bothering about older branches :p
    > 
    > Looking at the commit, a backpatch is not that complicated and it is
    > possible to check the generation of pg_config.h on non-MSVC
    > environments if some objects are missing.  Still, I think that it
    > would be better to be careful and test this code properly on Windows
    > with a real build.  It means that..  Err...  Andrew or I should look
    > at that.  I am not sure that the potential maintenance gain is worth
    > poking at the stable branches, to be honest.
    
    We have lived with the previous system for a decade, so I think 
    backpatching this would be a bit excessive.