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

ecpglib.h

  • Tom Lane's avatar
    89f56fc2
    Move declaration of ecpg_gettext() to a saner place. · 89f56fc2
    Tom Lane authored
    Declaring this in the client-visible header ecpglib.h was a pretty
    poor decision.  It's not meant to be application-callable (and if
    it was, putting it outside the extern "C" { ... } wrapper means
    that C++ clients would fail to call it).  And the declaration would
    not even compile for a client, anyway, since it would not have the
    macro pg_attribute_format_arg().  Fortunately, it seems that no
    clients have tried to include this header with ENABLE_NLS defined,
    or we'd have gotten complaints about that.  But we have no business
    putting such a restriction on client code.
    
    Move the declaration to ecpglib_extern.h, since in fact nothing
    outside src/interfaces/ecpg/ecpglib/ needs to call it.
    
    The practical effect of this is just that clients can now safely
    #include ecpglib.h while having ENABLE_NLS defined, but that seems
    like enough of a reason to back-patch it.
    
    Discussion: https://postgr.es/m/20590.1573069709@sss.pgh.pa.us
    89f56fc2
    History
    Move declaration of ecpg_gettext() to a saner place.
    Tom Lane authored
    Declaring this in the client-visible header ecpglib.h was a pretty
    poor decision.  It's not meant to be application-callable (and if
    it was, putting it outside the extern "C" { ... } wrapper means
    that C++ clients would fail to call it).  And the declaration would
    not even compile for a client, anyway, since it would not have the
    macro pg_attribute_format_arg().  Fortunately, it seems that no
    clients have tried to include this header with ENABLE_NLS defined,
    or we'd have gotten complaints about that.  But we have no business
    putting such a restriction on client code.
    
    Move the declaration to ecpglib_extern.h, since in fact nothing
    outside src/interfaces/ecpg/ecpglib/ needs to call it.
    
    The practical effect of this is just that clients can now safely
    #include ecpglib.h while having ENABLE_NLS defined, but that seems
    like enough of a reason to back-patch it.
    
    Discussion: https://postgr.es/m/20590.1573069709@sss.pgh.pa.us