public static List<string> ReportOn(TransactionalStorage transactionalStorage) { var list = new List<string>(); transactionalStorage.Batch(accessor => { var session = ((StorageActionsAccessor)accessor).Inner.Session; var jetDbid = ((StorageActionsAccessor)accessor).Inner.Dbid; var dictionary = GetSizes(session, jetDbid); list.AddRange(dictionary.OrderByDescending(x => x.Item2).Select(l => l.Item1)); }); return list; }
private static void ReportOn(TransactionalStorage transactionalStorage, string tableName, string path) { var list = new List<string>(); transactionalStorage.Batch(accessor => { var session = ((StorageActionsAccessor)accessor).Inner.Session; var jetDbid = ((StorageActionsAccessor)accessor).Inner.Dbid; using(var stream = new FileStream(Path.Combine(path, tableName + "Dump.csv"), FileMode.Create)) using (var table = new Table(session, jetDbid, tableName, OpenTableGrbit.None)) { DumpTable(session, table, stream); } }); }
public static void ReportOn(string path, string tableName) { using (var transactionalStorage = new TransactionalStorage(new RavenConfiguration { DataDirectory = path, Settings = { { Constants.Esent.LogFileSize, "1"} } }, () => { }, () => { }, () => { }, () => { })) { transactionalStorage.Initialize(new DummyUuidGenerator(), new OrderedPartCollection<AbstractDocumentCodec>()); ReportOn(transactionalStorage, tableName, path); } }
public static List<string> ReportOn(string path) { using (var transactionalStorage = new TransactionalStorage(new RavenConfiguration { DataDirectory = path, Settings = { {"Raven/Esent/LogFileSize", "1"} } }, () => { }, () => { })) { transactionalStorage.Initialize(new DummyUuidGenerator(), new OrderedPartCollection<AbstractDocumentCodec>()); return ReportOn(transactionalStorage); } }
public TransactionalStorageConfigurator(InMemoryRavenConfiguration configuration, TransactionalStorage transactionalStorage) : base(configuration) { this.transactionalStorage = transactionalStorage; }
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; } }
public TransactionalStorageConfigurator(InMemoryRavenConfiguration configuration, TransactionalStorage transactionalStorage) { this.configuration = configuration; this.transactionalStorage = transactionalStorage; }