diff options
author | Tom Lane | 2016-04-28 15:50:58 +0000 |
---|---|---|
committer | Tom Lane | 2016-04-28 15:50:58 +0000 |
commit | 23b09e15b9f40baeff527ca4dbc40afc823dd962 (patch) | |
tree | 91d45bcf9a52bf418b1ee9b0e2e367c987d9bebc /src/common/pgfnames.c | |
parent | f050423052bc9265d4cd27555058435edd4bef87 (diff) |
Adjust DatumGetBool macro, this time for sure.
Commit 23a41573c attempted to fix the DatumGetBool macro to ignore bits
in a Datum that are to the left of the actual bool value. But it did that
by casting the Datum to bool; and on compilers that use C99 semantics for
bool, that ends up being a whole-word test, not a 1-byte test. This seems
to be the true explanation for contrib/seg failing in VS2015. To fix, use
GET_1_BYTE() explicitly. I think in the previous patch, I'd had some idea
of not having to commit to bool being exactly 1 byte wide, but regardless
of what the compiler's bool is, boolean columns and Datums are certainly
1 byte wide.
The previous fix was (eventually) back-patched into all active versions,
so do likewise with this one.
Diffstat (limited to 'src/common/pgfnames.c')
0 files changed, 0 insertions, 0 deletions