From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Wrap multixact/members correctly during extension |
Date: | 2014-01-02 21:40:49 |
Message-ID: | E1Vyq0X-0006dk-C0@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/a50d97625497b76e3dc7c4aa22cd2c70317ec54d
Modified Files
--------------
src/backend/access/transam/multixact.c | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2014-01-03 02:46:17 | pgsql: Fix calculation of maximum statistics-message size. |
Previous Message | Robert Haas | 2014-01-02 20:17:12 | pgsql: Aggressively freeze tables when CLUSTER or VACUUM FULL rewrites |