aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/rmgrdesc/nbtdesc.c
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2014-09-22 16:48:14 +0200
committerAndres Freund <andres@anarazel.de>2014-09-22 17:49:34 +0200
commit604f7956b9460192222dd37bd3baea24cb669a47 (patch)
treeb5724bd4bcb4a36e51c1fdd90edeb162edb30d24 /src/backend/access/rmgrdesc/nbtdesc.c
parent898f8a96ef9dfa79eac9ec1621a89e71fe16601c (diff)
downloadpostgresql-604f7956b9460192222dd37bd3baea24cb669a47.tar.gz
postgresql-604f7956b9460192222dd37bd3baea24cb669a47.zip
Improve code around the recently added rm_identify rmgr callback.
There are four weaknesses in728f152e07f998d2cb4fe5f24ec8da2c3bda98f2: * append_init() in heapdesc.c was ugly and required that rm_identify return values are only valid till the next call. Instead just add a couple more switch() cases for the INIT_PAGE cases. Now the returned value will always be valid. * a couple rm_identify() callbacks missed masking xl_info with ~XLR_INFO_MASK. * pg_xlogdump didn't map a NULL rm_identify to UNKNOWN or a similar string. * append_init() was called when id=NULL - which should never actually happen. But it's better to be careful.
Diffstat (limited to 'src/backend/access/rmgrdesc/nbtdesc.c')
-rw-r--r--src/backend/access/rmgrdesc/nbtdesc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/rmgrdesc/nbtdesc.c b/src/backend/access/rmgrdesc/nbtdesc.c
index 7eb3bbd8476..8b63f2b6ba9 100644
--- a/src/backend/access/rmgrdesc/nbtdesc.c
+++ b/src/backend/access/rmgrdesc/nbtdesc.c
@@ -126,7 +126,7 @@ btree_identify(uint8 info)
{
const char *id = NULL;
- switch (info)
+ switch (info & ~XLR_INFO_MASK)
{
case XLOG_BTREE_INSERT_LEAF:
id = "INSERT_LEAF";