public MessagesStorageActions(Table messages, Table pendingMessages, QueuesStorageActions queuesStorageActions, IUuidGenerator uuidGenerator) { this.messages = messages; this.pendingMessages = pendingMessages; this.queuesStorageActions = queuesStorageActions; this.uuidGenerator = uuidGenerator; }
protected ActionsBase(DocumentDatabase database, SizeLimitedConcurrentDictionary<string, TouchedDocumentInfo> recentTouches, IUuidGenerator uuidGenerator, ILog log) { Database = database; RecentTouches = recentTouches; UuidGenerator = uuidGenerator; Log = log; }
public StorageActionsAccessor(QueuesStorage queuesStroage, IUuidGenerator uuidGenerator) { Items = new Dictionary<object, List<object>>(); Queues = new QueuesStorageActions(queuesStroage.Queues); Messages = new MessagesStorageActions(queuesStroage.Messages, queuesStroage.PendingMessages, Queues, uuidGenerator); General = new GeneralStorageActions(queuesStroage.Identity); }
public DocumentStorageActions( JET_INSTANCE instance, string database, TableColumnsCache tableColumnsCache, OrderedPartCollection<AbstractDocumentCodec> documentCodecs, IUuidGenerator uuidGenerator, IDocumentCacher cacher, TransactionalStorage transactionalStorage) { this.tableColumnsCache = tableColumnsCache; this.documentCodecs = documentCodecs; this.uuidGenerator = uuidGenerator; this.cacher = cacher; this.transactionalStorage = transactionalStorage; try { session = new Session(instance); transaction = new Transaction(session); Api.JetOpenDatabase(session, database, null, out dbid, OpenDatabaseGrbit.None); } catch (Exception) { Dispose(); throw; } }
public QueueStorageActions(TableStorage tableStorage, IUuidGenerator generator, Reference<SnapshotReader> snapshot, Reference<WriteBatch> writeBatch, IBufferPool bufferPool) : base(snapshot, bufferPool) { this.tableStorage = tableStorage; this.writeBatch = writeBatch; this.generator = generator; }
public DocumentsStorageActions(TableStorage storage, ITransactionStorageActions transactionStorageActions, IUuidGenerator generator, IEnumerable<AbstractDocumentCodec> documentCodecs) { this.storage = storage; this.transactionStorageActions = transactionStorageActions; this.generator = generator; this.documentCodecs = documentCodecs; }
public MappedResultsStorageActions(TableStorage tableStorage, IUuidGenerator generator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs, Reference<SnapshotReader> snapshot, Reference<WriteBatch> writeBatch, IBufferPool bufferPool) : base(snapshot, bufferPool) { this.tableStorage = tableStorage; this.generator = generator; this.documentCodecs = documentCodecs; this.writeBatch = writeBatch; }
public IndexingStorageActions(TableStorage tableStorage, IUuidGenerator generator, Reference<SnapshotReader> snapshot, Reference<WriteBatch> writeBatch, IStorageActionsAccessor storageActionsAccessor, IBufferPool bufferPool) : base(snapshot, bufferPool) { this.tableStorage = tableStorage; this.generator = generator; this.writeBatch = writeBatch; this.currentStorageActionsAccessor = storageActionsAccessor; }
public override void DeleteDocumentInTransaction( TransactionInformation transactionInformation, string key, Etag etag, Etag committedEtag, IUuidGenerator uuidGenerator) { throw new InvalidOperationException("DTC is not supported by " + storageName + " storage."); }
protected ActionsBase(DocumentDatabase database, SizeLimitedConcurrentDictionary<string, TouchedDocumentInfo> recentTouches, IUuidGenerator uuidGenerator, ILog log) { Database = database; RecentTouches = recentTouches; UuidGenerator = uuidGenerator; Log = log; TransactionalStorage = database.TransactionalStorage; WorkContext = database.WorkContext; IndexDefinitionStorage = database.IndexDefinitionStorage; }
public MappedResultsStorageActions(TableStorage tableStorage, IUuidGenerator generator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs, Reference<SnapshotReader> snapshot, Reference<WriteBatch> writeBatch, IBufferPool bufferPool, IStorageActionsAccessor storageActionsAccessor, ConcurrentDictionary<int, RemainingReductionPerLevel> ScheduledReductionsPerViewAndLevel) : base(snapshot, bufferPool) { this.tableStorage = tableStorage; this.generator = generator; this.documentCodecs = documentCodecs; this.writeBatch = writeBatch; this.storageActionsAccessor = storageActionsAccessor; this.scheduledReductionsPerViewAndLevel = ScheduledReductionsPerViewAndLevel; }
public DocumentStorageActions( JET_INSTANCE instance, string database, TableColumnsCache tableColumnsCache, OrderedPartCollection<AbstractDocumentCodec> documentCodecs, IUuidGenerator uuidGenerator, IDocumentCacher cacher, EsentTransactionContext transactionContext, TransactionalStorage transactionalStorage) { this.tableColumnsCache = tableColumnsCache; this.documentCodecs = documentCodecs; this.uuidGenerator = uuidGenerator; this.cacher = cacher; this.transactionalStorage = transactionalStorage; this.transactionContext = transactionContext; try { if (transactionContext == null) { session = new Session(instance); transaction = new Transaction(session); sessionAndTransactionDisposer = () => { if(transaction != null) transaction.Dispose(); if(session != null) session.Dispose(); }; } else { session = transactionContext.Session; transaction = transactionContext.Transaction; var disposable = transactionContext.EnterSessionContext(); sessionAndTransactionDisposer = disposable.Dispose; } Api.JetOpenDatabase(session, database, null, out dbid, OpenDatabaseGrbit.None); } catch (Exception ex) { logger.WarnException("Error when trying to open a new DocumentStorageActions", ex); try { Dispose(); } catch (Exception e) { logger.WarnException("Error on dispose when the ctor threw an exception, resources may have leaked", e); } throw; } }
public override Etag AddDocumentInTransaction( string key, Etag etag, RavenJObject data, RavenJObject metadata, TransactionInformation transactionInformation, Etag committedEtag, IUuidGenerator uuidGenerator) { throw new InvalidOperationException("DTC is not supported by " + storageName + " storage."); }
public StorageActionsAccessor(TableStorage storage, IUuidGenerator generator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs, IDocumentCacher documentCacher) { General = new GeneralStorageActions(storage); Attachments = new AttachmentsStorageActions(storage, generator); Transactions = new TransactionStorageActions(storage, generator, documentCodecs); Documents = new DocumentsStorageActions(storage, Transactions, generator, documentCodecs, documentCacher); Indexing = new IndexingStorageActions(storage); MappedResults = new MappedResultsStorageAction(storage, generator); Queue = new QueueStorageActions(storage, generator); Tasks = new TasksStorageActions(storage, generator); Staleness = new StalenessStorageActions(storage); }
public StorageActionsAccessor(TableStorage storage, IUuidGenerator generator) { General = new GeneralStorageActions(storage); Attachments = new AttachmentsStorageActions(storage, generator); Transactions = new TransactionStorageActions(storage, generator); Documents = new DocumentsStorageActions(storage, Transactions, generator); Indexing = new IndexingStorageActions(storage); MappedResults = new MappedResultsStorageAction(storage, generator); Queue = new QueueStorageActions(storage, generator); Tasks = new TasksStorageActions(storage, generator); Staleness = new StalenessStorageActions(storage); }
public StorageActionsAccessor(TableStorage storage, IUuidGenerator generator, IEnumerable<AbstractDocumentCodec> documentCodecs) { this.documentCodecs = documentCodecs; General = new GeneralStorageActions(storage); Attachments = new AttachmentsStorageActions(storage, generator); Transactions = new TransactionStorageActions(storage, generator, documentCodecs); Documents = new DocumentsStorageActions(storage, Transactions, generator, documentCodecs); Indexing = new IndexingStorageActions(storage); MappedResults = new MappedResultsStorageAction(storage, generator); Queue = new QueueStorageActions(storage, generator); Tasks = new TasksStorageActions(storage, generator); Staleness = new StalenessStorageActions(storage); }
public AttachmentsStorageActions(Table attachmentsTable, Reference<WriteBatch> writeBatch, Reference<SnapshotReader> snapshot, IUuidGenerator uuidGenerator, TableStorage tableStorage, Raven.Storage.Voron.TransactionalStorage transactionalStorage, IBufferPool bufferPool) :base(snapshot, bufferPool) { this.attachmentsTable = attachmentsTable; this.writeBatch = writeBatch; this.uuidGenerator = uuidGenerator; this.tableStorage = tableStorage; this.transactionalStorage = transactionalStorage; metadataIndex = tableStorage.Attachments.GetIndex(Tables.Attachments.Indices.Metadata); }
public DocumentsStorageActions(IUuidGenerator uuidGenerator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs, IDocumentCacher documentCacher, Reference<WriteBatch> writeBatch, Reference<SnapshotReader> snapshot, TableStorage tableStorage, IBufferPool bufferPool) : base(snapshot, bufferPool) { this.uuidGenerator = uuidGenerator; this.documentCodecs = documentCodecs; this.documentCacher = documentCacher; this.writeBatch = writeBatch; this.tableStorage = tableStorage; metadataIndex = tableStorage.Documents.GetIndex(Tables.Documents.Indices.Metadata); }
/*[CLSCompliant(false)] [DebuggerHidden, DebuggerNonUserCode, DebuggerStepThrough]*/ public DocumentStorageActions( JET_INSTANCE _instance, string _database, TableColumnsCache _tableColumnsCache, IEnumerable<AbstractDocumentCodec> _documentCodecs, IUuidGenerator _uuidGenerator) { this.tableColumnsCache = _tableColumnsCache; this.documentCodecs = _documentCodecs; this.uuidGenerator = _uuidGenerator; OnCommit = delegate {}; try { session = new Session(_instance); transaction = new Transaction(session); Api.JetOpenDatabase(session, _database, null, out dbid, OpenDatabaseGrbit.None); } catch { Dispose(); throw; } }
public DocumentStorageActions( JET_INSTANCE instance, string database, TableColumnsCache tableColumnsCache, OrderedPartCollection <AbstractDocumentCodec> documentCodecs, IUuidGenerator uuidGenerator, IDocumentCacher cacher, EsentTransactionContext transactionContext, TransactionalStorage transactionalStorage ) { this.tableColumnsCache = tableColumnsCache; this.documentCodecs = documentCodecs; this.uuidGenerator = uuidGenerator; this.cacher = cacher; this.transactionalStorage = transactionalStorage; this.transactionContext = transactionContext; scheduledReductionsPerViewAndLevel = transactionalStorage.GetScheduledReductionsPerViewAndLevel(); try { if (transactionContext == null) { session = new Session(instance); transaction = new Transaction(session); sessionAndTransactionDisposer = () => { if (transaction != null) { transaction.Dispose(); } if (session != null) { session.Dispose(); } }; } else { session = transactionContext.Session; transaction = transactionContext.Transaction; var disposable = transactionContext.EnterSessionContext(); sessionAndTransactionDisposer = disposable.Dispose; } Api.JetOpenDatabase(session, database, null, out dbid, OpenDatabaseGrbit.None); } catch (Exception ex) { string location; try { location = new StackTrace(true).ToString(); } catch (Exception) { location = "cannot get stack trace"; } logger.WarnException("Error when trying to open a new DocumentStorageActions from \r\n" + location, ex); try { Dispose(); } catch (Exception e) { logger.WarnException("Error on dispose when the ctor threw an exception, resources may have leaked", e); } throw; } }
protected ActionsBase(DocumentDatabase database, SizeLimitedConcurrentDictionary <string, TouchedDocumentInfo> recentTouches, IUuidGenerator uuidGenerator, ILog log) { Database = database; RecentTouches = recentTouches; UuidGenerator = uuidGenerator; Log = log; TransactionalStorage = database.TransactionalStorage; WorkContext = database.WorkContext; IndexDefinitionStorage = database.IndexDefinitionStorage; }
public void Init(IUuidGenerator generator, InMemoryRavenConfiguration configuration) { this.configuration = configuration; }
public void Initialize(IUuidGenerator generator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs) { if (generator == null) throw new ArgumentNullException("generator"); if (documentCodecs == null) throw new ArgumentNullException("documentCodecs"); uuidGenerator = generator; _documentCodecs = documentCodecs; StorageEnvironmentOptions options = configuration.RunInMemory ? CreateMemoryStorageOptionsFromConfiguration(configuration) : CreateStorageOptionsFromConfiguration(configuration); tableStorage = new TableStorage(options, bufferPool); var schemaCreator = new SchemaCreator(configuration, tableStorage, Output, Log); schemaCreator.CreateSchema(); schemaCreator.SetupDatabaseIdAndSchemaVersion(); schemaCreator.UpdateSchemaIfNecessary(); SetupDatabaseId(); }
public AttachmentsStorageActions(TableStorage storage, IUuidGenerator generator) { this.storage = storage; this.generator = generator; }
public void Initialize(IUuidGenerator uuidGenerator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs) { try { DocumentCodecs = documentCodecs; generator = uuidGenerator; InstanceParameters instanceParameters = new TransactionalStorageConfigurator(configuration, this).ConfigureInstance(instance, path); if (configuration.RunInUnreliableYetFastModeThatIsNotSuitableForProduction) instanceParameters.Recovery = false; log.Info(@"Esent Settings: MaxVerPages = {0} CacheSizeMax = {1} DatabasePageSize = {2}", instanceParameters.MaxVerPages, SystemParameters.CacheSizeMax, SystemParameters.DatabasePageSize); Api.JetInit(ref instance); EnsureDatabaseIsCreatedAndAttachToDatabase(); SetIdFromDb(); tableColumnsCache.InitColumDictionaries(instance, database); } catch (Exception e) { Dispose(); var fileAccessException = e as EsentFileAccessDeniedException; if (fileAccessException == null) throw new InvalidOperationException("Could not open transactional storage: " + database, e); throw new InvalidOperationException("Could not write to location: " + path + ". Make sure you have read/write permissions for this path.", e); } }
public void InitializeTransactionalStorage(IUuidGenerator uuidGenerator) { string storageEngineTypeName = configuration.SelectStorageEngineAndFetchTypeName(); database.TransactionalStorage = configuration.CreateTransactionalStorage(storageEngineTypeName, database.WorkContext.HandleWorkNotifications); database.TransactionalStorage.Initialize(uuidGenerator, database.DocumentCodecs); }
public TransactionStorageActions(TableStorage storage, IUuidGenerator generator, OrderedPartCollection <AbstractDocumentCodec> documentCodecs) { this.storage = storage; this.generator = generator; this.documentCodecs = documentCodecs; }
public CoursesCounterIncrementer(ICoursesCounterRepository repository, IUuidGenerator uuidGenerator) { this.repository = repository; this.uuidGenerator = uuidGenerator; }
public QueueStorageActions(TableStorage storage, IUuidGenerator generator) { this.storage = storage; this.generator = generator; }
public MappedResultsStorageAction(TableStorage storage, IUuidGenerator generator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs) { this.storage = storage; this.generator = generator; this.documentCodecs = documentCodecs; }
public MappedResultsStorageAction(TableStorage storage, IUuidGenerator generator) { this.storage = storage; this.generator = generator; }
public QueryActions(DocumentDatabase database, SizeLimitedConcurrentDictionary <string, TouchedDocumentInfo> recentTouches, IUuidGenerator uuidGenerator, ILog log) : base(database, recentTouches, uuidGenerator, log) { }
public void Init(IUuidGenerator generator) { }
public void Init(IUuidGenerator generator) { uuidGenerator = generator; }
public bool Initialize(IUuidGenerator generator, OrderedPartCollection<AbstractDocumentCodec> documentCodecs) { DocumentCodecs = documentCodecs; uuidGenerator = generator; if (configuration.RunInMemory == false && Directory.Exists(configuration.DataDirectory) == false) Directory.CreateDirectory(configuration.DataDirectory); persistenceSource = configuration.RunInMemory ? (IPersistentSource)new MemoryPersistentSource() : new FileBasedPersistentSource(configuration.DataDirectory, "Raven", configuration.TransactionMode == TransactionMode.Safe); tableStroage = new TableStorage(persistenceSource); idleTimer = new Timer(MaybeOnIdle, null, TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(30)); tableStroage.Initialze(); if (persistenceSource.CreatedNew) { Id = Guid.NewGuid(); Batch(accessor => tableStroage.Details.Put("id", Id.ToByteArray())); } else { using(tableStroage.BeginTransaction()) { var readResult = tableStroage.Details.Read("id"); Id = new Guid(readResult.Data()); } } return persistenceSource.CreatedNew; }
public void Init(IUuidGenerator generator, InMemoryRavenConfiguration configuration) { }
public bool Initialize(IUuidGenerator uuidGenerator) { try { generator = uuidGenerator; var instanceParameters = new TransactionalStorageConfigurator(configuration).ConfigureInstance(instance, path); if (configuration.RunInUnreliableYetFastModeThatIsNotSuitableForProduction) { instanceParameters = new InstanceParameters(instance) { CircularLog = true, Recovery = false, NoInformationEvent = false, CreatePathIfNotExist = true, TempDirectory = Path.Combine(path, "temp"), SystemDirectory = Path.Combine(path, "system"), LogFileDirectory = Path.Combine(path, "logs"), MaxVerPages = 256, BaseName = "RVN", EventSource = "Raven", LogBuffers = 8192, LogFileSize = 256, MaxSessions = TransactionalStorageConfigurator.MaxSessions, MaxCursors = 1024, DbExtensionSize = 128, AlternateDatabaseRecoveryDirectory = path }; } log.Info(@"Esent Settings: MaxVerPages = {0} CacheSizeMax = {1} DatabasePageSize = {2}", instanceParameters.MaxVerPages, SystemParameters.CacheSizeMax, SystemParameters.DatabasePageSize); Api.JetInit(ref instance); var newDb = EnsureDatabaseIsCreatedAndAttachToDatabase(); SetIdFromDb(); tableColumnsCache.InitColumDictionaries(instance, database); return newDb; } catch (Exception e) { Dispose(); throw new InvalidOperationException("Could not open transactional storage: " + database, e); } }
public TransactionStorageActions(TableStorage storage, IUuidGenerator generator, IEnumerable <AbstractDocumentCodec> documentCodecs) { this.storage = storage; this.generator = generator; this.documentCodecs = documentCodecs; }
public bool Initialize(IUuidGenerator uuidGenerator, OrderedPartCollection <AbstractDocumentCodec> documentCodecs) { try { DocumentCodecs = documentCodecs; generator = uuidGenerator; InstanceParameters instanceParameters; if (configuration.RunInUnreliableYetFastModeThatIsNotSuitableForProduction) { instanceParameters = new InstanceParameters(instance) { CircularLog = true, Recovery = false, NoInformationEvent = false, CreatePathIfNotExist = true, TempDirectory = Path.Combine(path, "temp"), SystemDirectory = Path.Combine(path, "system"), LogFileDirectory = Path.Combine(path, "logs"), MaxVerPages = 256, BaseName = "RVN", EventSource = "Raven", LogBuffers = 8192, LogFileSize = 256, MaxSessions = TransactionalStorageConfigurator.MaxSessions, MaxCursors = 1024, DbExtensionSize = 128, AlternateDatabaseRecoveryDirectory = path }; } else { instanceParameters = new TransactionalStorageConfigurator(configuration).ConfigureInstance(instance, path); } log.Info(@"Esent Settings: MaxVerPages = {0} CacheSizeMax = {1} DatabasePageSize = {2}", instanceParameters.MaxVerPages, SystemParameters.CacheSizeMax, SystemParameters.DatabasePageSize); Api.JetInit(ref instance); var newDb = EnsureDatabaseIsCreatedAndAttachToDatabase(); SetIdFromDb(); tableColumnsCache.InitColumDictionaries(instance, database); return(newDb); } catch (Exception e) { Dispose(); var fileAccessExeption = e as EsentFileAccessDeniedException; if (fileAccessExeption == null) { throw new InvalidOperationException("Could not open transactional storage: " + database, e); } throw new InvalidOperationException("Could not write to location: " + path + ". Make sure you have read/write permissions for this path.", e); } }
public MappedResultsStorageAction(TableStorage storage, IUuidGenerator generator, OrderedPartCollection <AbstractDocumentCodec> documentCodecs) { this.storage = storage; this.generator = generator; this.documentCodecs = documentCodecs; }
protected ActionsBase(DocumentDatabase database, SizeLimitedConcurrentDictionary <string, TouchedDocumentInfo> recentTouches, IUuidGenerator uuidGenerator, ILog log) { Database = database; RecentTouches = recentTouches; UuidGenerator = uuidGenerator; Log = log; }
public DocumentActions(DocumentDatabase database, IUuidGenerator uuidGenerator, ILog log) : base(database, uuidGenerator, log) { }
public NotificationActions(DocumentDatabase database, SizeLimitedConcurrentDictionary<string, TouchedDocumentInfo> recentTouches, IUuidGenerator uuidGenerator, ILog log) : base(database, recentTouches, uuidGenerator, log) { }