pgsql: Fix broken error check in _hash_doinsert.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix broken error check in _hash_doinsert.
Date: 2016-12-22 19:20:50
Message-ID: E1cK8v4-00038c-UO@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix broken error check in _hash_doinsert.

You can't just cast a HashMetaPage to a Page, because the meta page
data is stored after the page header, not at offset 0. Fortunately,
this didn't break anything because it happens to find hashm_bsize
at the offset at which it expects to find pd_pagesize_version, and
the values are close enough to the same that this works out.

Still, it's a bug, so back-patch to all supported versions.

Mithun Cy, revised a bit by me.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/aa04e5c3c1b1ba27d5e726d9afc291f475051ec0

Modified Files
--------------
src/backend/access/hash/hashinsert.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2016-12-22 19:33:30 pgsql: Skip checkpoints, archiving on idle systems.
Previous Message Robert Haas 2016-12-22 17:50:55 Re: [COMMITTERS] pgsql: Implement table partitioning.