pgsql: Fix broken error check in _hash_doinsert.

Lists: pgsql-committers
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-00038e-US@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
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_4_STABLE

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

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