Обсуждение: pgsql: Fix bitshiftright()'s zero-padding some more.

Поиск
Список
Период
Сортировка

pgsql: Fix bitshiftright()'s zero-padding some more.

От
Tom Lane
Дата:
Fix bitshiftright()'s zero-padding some more.

Commit 5ac0d9360 failed to entirely fix bitshiftright's habit of
leaving one-bits in the pad space that should be all zeroes,
because in a moment of sheer brain fade I'd concluded that only
the code path used for not-a-multiple-of-8 shift distances needed
to be fixed.  Of course, a multiple-of-8 shift distance can also
cause the problem, so we need to forcibly zero the extra bits
in both cases.

Per bug #16037 from Alexander Lakhin.  As before, back-patch to all
supported branches.

Discussion: https://postgr.es/m/16037-1d1ebca564db54f4@postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/61aa9f544a91f2908e4c7cd549907cdc5b6f1c82

Modified Files
--------------
src/backend/utils/adt/varbit.c    |  6 ++--
src/test/regress/expected/bit.out | 66 +++++++++++++++++++++++++++++++++++++++
src/test/regress/sql/bit.sql      |  6 ++++
3 files changed, 76 insertions(+), 2 deletions(-)