summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/pageinspect/hashfuncs.c12
-rw-r--r--contrib/pgstattuple/pgstattuple.c2
2 files changed, 8 insertions, 6 deletions
diff --git a/contrib/pageinspect/hashfuncs.c b/contrib/pageinspect/hashfuncs.c
index dd00aaa81a6..6e52969fd34 100644
--- a/contrib/pageinspect/hashfuncs.c
+++ b/contrib/pageinspect/hashfuncs.c
@@ -184,7 +184,8 @@ hash_page_type(PG_FUNCTION_ARGS)
bytea *raw_page = PG_GETARG_BYTEA_P(0);
Page page;
HashPageOpaque opaque;
- char *type;
+ int pagetype;
+ const char *type;
if (!superuser())
ereport(ERROR,
@@ -200,13 +201,14 @@ hash_page_type(PG_FUNCTION_ARGS)
opaque = (HashPageOpaque) PageGetSpecialPointer(page);
/* page type (flags) */
- if (opaque->hasho_flag & LH_META_PAGE)
+ pagetype = opaque->hasho_flag & LH_PAGE_TYPE;
+ if (pagetype == LH_META_PAGE)
type = "metapage";
- else if (opaque->hasho_flag & LH_OVERFLOW_PAGE)
+ else if (pagetype == LH_OVERFLOW_PAGE)
type = "overflow";
- else if (opaque->hasho_flag & LH_BUCKET_PAGE)
+ else if (pagetype == LH_BUCKET_PAGE)
type = "bucket";
- else if (opaque->hasho_flag & LH_BITMAP_PAGE)
+ else if (pagetype == LH_BITMAP_PAGE)
type = "bitmap";
else
type = "unused";
diff --git a/contrib/pgstattuple/pgstattuple.c b/contrib/pgstattuple/pgstattuple.c
index 44f90cd0d37..eb02ec5b890 100644
--- a/contrib/pgstattuple/pgstattuple.c
+++ b/contrib/pgstattuple/pgstattuple.c
@@ -453,7 +453,7 @@ pgstat_hash_page(pgstattuple_type *stat, Relation rel, BlockNumber blkno,
HashPageOpaque opaque;
opaque = (HashPageOpaque) PageGetSpecialPointer(page);
- switch (opaque->hasho_flag)
+ switch (opaque->hasho_flag & LH_PAGE_TYPE)
{
case LH_UNUSED_PAGE:
stat->free_space += BLCKSZ;