]> granicus.if.org Git - postgresql/commit
Fix bitshiftright()'s zero-padding some more.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 4 Oct 2019 14:34:21 +0000 (10:34 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 4 Oct 2019 14:34:21 +0000 (10:34 -0400)
commit30e5b3bbe9ca9f3594816788fe4469798da04f64
treec34bdd16193863f17db9eb05c4c20fc7e53767dd
parent677989cc0107bbd9ca09e3aea6fd60f6aa34e9cb
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
src/backend/utils/adt/varbit.c
src/test/regress/expected/bit.out
src/test/regress/sql/bit.sql