{
xl_btree_split *xlrec = (xl_btree_split *) rec;
- appendStringInfo(buf, "level %u, firstright %d",
- xlrec->level, xlrec->firstright);
+ appendStringInfo(buf, "level %u, firstright %d, newitemoff %d",
+ xlrec->level, xlrec->firstright, xlrec->newitemoff);
break;
}
case XLOG_BTREE_VACUUM:
*
* Note: the four XLOG_BTREE_SPLIT xl_info codes all use this data record.
* The _L and _R variants indicate whether the inserted tuple went into the
- * left or right split page (and thus, whether newitemoff and the new item
- * are stored or not). The _ROOT variants indicate that we are splitting
- * the root page, and thus that a newroot record rather than an insert or
- * split record should follow. Note that a split record never carries a
- * metapage update --- we'll do that in the parent-level update.
+ * left or right split page (and thus, whether the new item is stored or not).
+ * The _ROOT variants indicate that we are splitting the root page, and thus
+ * that a newroot record rather than an insert or split record should follow.
+ * Note that a split record never carries a metapage update --- we'll do that
+ * in the parent-level update.
*
* Backup Blk 0: original page / new left page
*
{
uint32 level; /* tree level of page being split */
OffsetNumber firstright; /* first item moved to right page */
- OffsetNumber newitemoff; /* new item's offset (if placed on left page) */
+ OffsetNumber newitemoff; /* new item's offset (useful for _L variants) */
} xl_btree_split;
#define SizeOfBtreeSplit (offsetof(xl_btree_split, newitemoff) + sizeof(OffsetNumber))