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
------
REL9_4_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/b6a6c129fca493da4fb289b9cbd757699e51af5b
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(-)