diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2014-01-02 18:17:07 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2014-01-02 18:17:07 -0300 |
commit | a50d97625497b76e3dc7c4aa22cd2c70317ec54d (patch) | |
tree | 6f3672ebb689adecef3a00cec1701e35fba2a4cb /src/backend/access/gist/gist.c | |
parent | 722acf51a0d074d19782ad7e97ebe3fdb63fbb87 (diff) | |
download | postgresql-a50d97625497b76e3dc7c4aa22cd2c70317ec54d.tar.gz |
Wrap multixact/members correctly during extension
In the 9.2 code for extending multixact/members, the logic was very
simple because the number of entries in a members page was a proper
divisor of 2^32, and thus at 2^32 wraparound the logic for page switch
was identical than at any other page boundary. In commit 0ac5ad5134f I
failed to realize this and introduced code that was not able to go over
the 2^32 boundary. Fix that by ensuring that when we reach the last
page of the last segment we correctly zero the initial page of the
initial segment, using correct uint32-wraparound-safe arithmetic.
Noticed while investigating bug #8673 reported by Serge Negodyuck, as
diagnosed by Andres Freund.
Diffstat (limited to 'src/backend/access/gist/gist.c')
0 files changed, 0 insertions, 0 deletions