postgrespro.git / summary / log / commit / refs

commit    ff43b3e88eceb94b3a2b2579e8510e4f3aedbe09
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Wed Nov 06 16:11:40 2019 +0000

    Sync our DTrace infrastructure with c.h's definition of type bool.
    
    Since commit d26a810eb, we've defined bool as being either _Bool from
    <stdbool.h>, or "unsigned char"; but that commit overlooked the fact
    that probes.d has "#define bool char".  For consistency, make it say
    "unsigned char" instead.  This should be strictly a cosmetic change,
    but it seems best to be in sync.
    
    Formally, in the now-normal case where we're using <stdbool.h>, it'd
    be better to write "#define bool _Bool".  However, then we'd need
    some build infrastructure to inject that configuration choice into
    probes.d, and it doesn't seem worth the trouble.  We only use
    <stdbool.h> if sizeof(_Bool) is 1, so having DTrace think that
    bool parameters are "unsigned char" should be close enough.
    
    Back-patch to v12 where d26a810eb came in.
    
    Discussion: https://postgr.es/m/CAA4eK1LmaKO7Du9M9Lo=kxGU8sB6aL8fa3sF6z6d5yYYVe3BuQ@mail.gmail.com


doc/src/sgml/monitoring.sgml | 2 +- src/backend/utils/probes.d | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index e6c49eebad..d18b271a58 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -4638,7 +4638,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, </row> <row> <entry><type>bool</type></entry> - <entry><type>char</type></entry> + <entry><type>unsigned char</type></entry> </row> </tbody> diff --git a/src/backend/utils/probes.d b/src/backend/utils/probes.d index 33ac627799..f08a49c9dd 100644 --- a/src/backend/utils/probes.d +++ b/src/backend/utils/probes.d @@ -9,10 +9,10 @@ /* - * Typedefs used in PostgreSQL. + * Typedefs used in PostgreSQL probes. * * NOTE: Do not use system-provided typedefs (e.g. uintptr_t, uint32_t, etc) - * in probe definitions, as they cause compilation errors on macOS 10.5. + * in probe definitions, as they cause compilation errors on macOS. */ #define LocalTransactionId unsigned int #define LWLockMode int @@ -20,7 +20,7 @@ #define BlockNumber unsigned int #define Oid unsigned int #define ForkNumber int -#define bool char +#define bool unsigned char provider postgresql { [parent: d40abd5fcfb2]