vacuum method
Implementation
Future<void> vacuum() async {
final threshold = txnManager.oldestActiveTxnId;
// Vacuum in-memory MVCC version chains.
for (final mvcc in mvccTables.values) {
mvcc.vacuum(threshold);
}
// Physical vacuum of dead tuples in binary page tables.
for (final pt in pageTables.values) {
final reclaimed = await pt.vacuum(oldestActiveTxnId: threshold);
if (reclaimed > 0) {
print('[Vacuum] ${pt.name}: reclaimed $reclaimed dead tuples.');
}
}
// Evict old committed-txn entries from the in-memory filter.
committedTxns.evict(threshold);
print('[NebulaDB] Vacuum done (threshold txnId=$threshold).');
}