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

Started by Tom Lanealmost 7 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

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: /messages/by-id/16037-1d1ebca564db54f4@postgresql.org

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/b8ddf0bdf74603fa04aab911afac861efec0a0a3

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(-)