public virtual void EnsureInitialized() { if (_idToTimestamp != null) { return; } if (!_container.Config().GenerateCommitTimestamps().DefiniteYes()) { return; } Initialize(); }
public virtual BTree IdToTimestamp() { if (_idToTimestamp != null) { return(_idToTimestamp); } if (!_container.Config().GenerateCommitTimestamps().DefiniteYes()) { return(null); } Initialize(); return(_idToTimestamp); }
/// <exception cref="System.IO.IOException"></exception> public DefragmentServicesImpl(DefragmentConfig defragConfig, IDefragmentListener listener) { _listener = listener; var originalConfig = (Config4Impl) defragConfig.Db4oConfig(); var storage = defragConfig.BackupStorage(); if (defragConfig.ReadOnly()) { storage = new NonFlushingStorage(storage); } var sourceConfig = PrepareConfig(originalConfig, storage, defragConfig.ReadOnly ()); _sourceDb = (LocalObjectContainer) Db4oFactory.OpenFile(sourceConfig, defragConfig .TempPath()).Ext(); _sourceDb.ShowInternalClasses(true); defragConfig.Db4oConfig().BlockSize(_sourceDb.BlockSize()); if (!originalConfig.GenerateCommitTimestamps().DefiniteNo()) { defragConfig.Db4oConfig().GenerateCommitTimestamps(_sourceDb.Config().GenerateCommitTimestamps ().DefiniteYes()); } _targetDb = FreshTargetFile(defragConfig); _mapping = defragConfig.Mapping(); _mapping.Open(); _defragConfig = defragConfig; }
private TransactionLogHandler NewTransactionLogHandler(LocalObjectContainer container ) { bool fileBased = container.Config().FileBasedTransactionLog() && container is IoAdaptedObjectContainer; if (!fileBased) { return new EmbeddedTransactionLogHandler(container); } string fileName = ((IoAdaptedObjectContainer)container).FileName(); return new FileBasedTransactionLogHandler(container, fileName); }