public void Defragment()
{
using (var handle = this.cursorCache.TakeItem())
{
var cursor = handle.Item;
//int passes = int.MaxValue, seconds = int.MaxValue;
//Api.JetDefragment(cursor.jetSession, cursor.blockDbId, "", ref passes, ref seconds, DefragGrbit.BatchStart);
if (EsentVersion.SupportsWindows81Features)
{
logger.Info("Begin shrinking block txes database");
int actualPages;
Windows8Api.JetResizeDatabase(cursor.jetSession, cursor.blockDbId, 0, out actualPages, Windows81Grbits.OnlyShrink);
logger.Info($"Finished shrinking block txes database: {(float)actualPages * SystemParameters.DatabasePageSize / 1.MILLION():N0} MB");
}
}
}