public void Commit() { if (Transaction == null) { return; } if (Storage != null) { Storage.WriteTransactionStartPoint(); foreach (var t in Transaction.Values) { foreach (var r in t.DiskRows) { uint rowid = (uint)Storage.Append(r.tableId, r.columnId, r.values); } foreach (var d in t.DeletedRows) { Storage.Delete((uint)d); } } Storage.WriteTransactionEndPoint(); Storage.Flush(); } Transaction = null; }