Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

postgres-lambda-diff

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Tom Lane authored
    pgtypeslib_extern.h contained fallback definitions of "bool", "FALSE",
    and "TRUE".  The latter two are just plain unused, and have been for
    awhile.  The former came into play only if there wasn't a macro
    definition of "bool", which is true only if we aren't using <stdbool.h>.
    However, it then defined bool as "char"; since commit d26a810e that
    conflicts with c.h's desire to use "unsigned char".  We'd missed seeing
    any bad effects of that due to accidental header inclusion order choices,
    but dddf4cdc exposed that it was problematic.
    
    To fix, let's just get rid of these definitions.  They should not be
    needed because everyplace in Postgres should be relying on c.h to
    provide a definition for type bool.  (Note that despite its name,
    pgtypeslib_extern.h isn't exposed to any outside code; we don't
    install it.)
    
    This doesn't fully resolve the issue, because ecpglib.h is doing
    similar things, but that seems to require more thought to fix.
    
    Back-patch to v12 where d26a810e came in, to forestall any unpleasant
    surprises from future back-patched bug fixes.
    
    Discussion: https://postgr.es/m/CAA4eK1LmaKO7Du9M9Lo=kxGU8sB6aL8fa3sF6z6d5yYYVe3BuQ@mail.gmail.com
    4a61aa4a
    History
    Name Last commit Last update