summaryrefslogtreecommitdiff
path: root/src/backend/access/rmgrdesc/hashdesc.c
diff options
context:
space:
mode:
authorRobert Haas2017-03-20 19:49:09 +0000
committerRobert Haas2017-03-20 19:49:09 +0000
commit953477ca3526e28f9aeeb41d23b16eed0084c7d2 (patch)
treead1b7373e82044025156843cbc9c80965d44d7f1 /src/backend/access/rmgrdesc/hashdesc.c
parentbc18126a6bcb85b51dc082c3ef4417dc016ebd9c (diff)
Fixes for single-page hash index vacuum.
Clear LH_PAGE_HAS_DEAD_TUPLES during replay, similar to what gets done for btree. Update hashdesc.c for xl_hash_vacuum_one_page. Oversights in commit 6977b8b7f4dfb40896ff5e2175cad7fdbda862eb spotted by Amit Kapila. Patch by Ashutosh Sharma. Bump WAL version. The original patch to make hash indexes write-ahead logged probably should have done this, and the single page vacuuming patch probably should have done it again, but better late than never. Discussion: http://postgr.es/m/CAA4eK1Kd=mJ9xreovcsh0qMiAj-QqCphHVQ_Lfau1DR9oVjASQ@mail.gmail.com
Diffstat (limited to 'src/backend/access/rmgrdesc/hashdesc.c')
-rw-r--r--src/backend/access/rmgrdesc/hashdesc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backend/access/rmgrdesc/hashdesc.c b/src/backend/access/rmgrdesc/hashdesc.c
index 5bd5c8dc010..5f5f4a02551 100644
--- a/src/backend/access/rmgrdesc/hashdesc.c
+++ b/src/backend/access/rmgrdesc/hashdesc.c
@@ -96,7 +96,8 @@ hash_desc(StringInfo buf, XLogReaderState *record)
{
xl_hash_delete *xlrec = (xl_hash_delete *) rec;
- appendStringInfo(buf, "is_primary %c",
+ appendStringInfo(buf, "clear_dead_marking %c, is_primary %c",
+ xlrec->clear_dead_marking ? 'T' : 'F',
xlrec->is_primary_bucket_page ? 'T' : 'F');
break;
}
@@ -108,6 +109,14 @@ hash_desc(StringInfo buf, XLogReaderState *record)
xlrec->ntuples);
break;
}
+ case XLOG_HASH_VACUUM_ONE_PAGE:
+ {
+ xl_hash_vacuum_one_page *xlrec = (xl_hash_vacuum_one_page *) rec;
+
+ appendStringInfo(buf, "ntuples %g",
+ xlrec->ntuples);
+ break;
+ }
}
}