pgsql: Adjust DatumGetBool macro, this time for sure.
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | pgsql: Adjust DatumGetBool macro, this time for sure. |
| Дата | |
| Msg-id | E1avoE8-0007v6-5k@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
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. Branch ------ REL9_2_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/c563d97c6bfd63e4d533bf01d0074d3a47e7a12c Modified Files -------------- src/include/postgres.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера