appendStringInfo(buf, "isrootsplit: %c",
(((ginxlogSplit *) rec)->flags & GIN_SPLIT_ROOT) ? 'T' : 'F');
appendStringInfo(buf, " isdata: %c isleaf: %c",
(xlrec->flags & GIN_INSERT_ISDATA) ? 'T' : 'F',
(xlrec->flags & GIN_INSERT_ISLEAF) ? 'T' : 'F');
} break; case XLOG_GIN_VACUUM_PAGE: /* no further information */ break; case XLOG_GIN_VACUUM_DATA_LEAF_PAGE:
{ if (XLogRecHasBlockImage(record, 0))
{ if (XLogRecBlockImageApply(record, 0))
appendStringInfoString(buf, " (full page image)"); else
appendStringInfoString(buf, " (full page image, for WAL verification)");
} else
{
ginxlogVacuumDataLeafPage *xlrec =
(ginxlogVacuumDataLeafPage *) XLogRecGetBlockData(record, 0, NULL);
desc_recompress_leaf(buf, &xlrec->data);
}
} break; case XLOG_GIN_DELETE_PAGE: /* no further information */ break; case XLOG_GIN_UPDATE_META_PAGE: /* no further information */ break; case XLOG_GIN_INSERT_LISTPAGE: /* no further information */ break; case XLOG_GIN_DELETE_LISTPAGE:
appendStringInfo(buf, "ndeleted: %d",
((ginxlogDeleteListPages *) rec)->ndeleted); break;
}
}
switch (info & ~XLR_INFO_MASK)
{ case XLOG_GIN_CREATE_PTREE:
id = "CREATE_PTREE"; break; case XLOG_GIN_INSERT:
id = "INSERT"; break; case XLOG_GIN_SPLIT:
id = "SPLIT"; break; case XLOG_GIN_VACUUM_PAGE:
id = "VACUUM_PAGE"; break; case XLOG_GIN_VACUUM_DATA_LEAF_PAGE:
id = "VACUUM_DATA_LEAF_PAGE"; break; case XLOG_GIN_DELETE_PAGE:
id = "DELETE_PAGE"; break; case XLOG_GIN_UPDATE_META_PAGE:
id = "UPDATE_META_PAGE"; break; case XLOG_GIN_INSERT_LISTPAGE:
id = "INSERT_LISTPAGE"; break; case XLOG_GIN_DELETE_LISTPAGE:
id = "DELETE_LISTPAGE"; break;
}
return id;
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.