public Transaction(IVirtualPager pager, StorageEnvironment env, long id, TransactionFlags flags, IFreeSpaceRepository freeSpaceRepository) { _pager = pager; _env = env; _id = id; _freeSpaceRepository = freeSpaceRepository; Flags = flags; NextPageNumber = env.NextPageNumber; }
public StorageEnvironment(IVirtualPager pager, bool ownsPager = true) { try { _pager = pager; _ownsPager = ownsPager; _freeSpaceRepository = new FreeSpaceRepository(this); _sliceComparer = NativeMethods.memcmp; Setup(pager); FreeSpaceRoot.Name = "Free Space"; Root.Name = "Root"; Writer = new TreeWriter(this); } catch (Exception) { Dispose(); } }