public SearchMonitorView(PropertyDatabase propertyDatabase, PropertyDatabase propertyAliases, bool delayedSync = false) { m_Disposed = false; if (s_PropertyDatabaseViews.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var currentViews)) { propertyDatabaseView = currentViews.propertyDatabaseView; propertyAliasesView = currentViews.propertyAliasesView; m_NeedsDispose = false; } else { propertyDatabaseView = propertyDatabase.GetView(delayedSync); propertyAliasesView = propertyAliases.GetView(delayedSync); m_NeedsDispose = true; s_PropertyDatabaseViews.TryAdd(Thread.CurrentThread.ManagedThreadId, this); } }
void MergeStoresToFile() { // TODO: When trackers are removed, put back GetView() using (var view = new PropertyDatabaseView(this, m_LocalVolatileStore, m_LocalStore, m_FileStore, m_StringTable, false)) view.MergeStores(); }