From f77ec68a8862bd03b430deff48022ffb179172b0 Mon Sep 17 00:00:00 2001 From: Greg Soltis Date: Mon, 26 Mar 2018 11:57:34 -0700 Subject: Switch LevelDB MutationQueue and RemoteDocumentCache to use transactions (#968) * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Checkpoint before implementing BatchDescription * Style * Initial plumbing for leveldb local parts * Add model::BatchId * Port leveldb_key.{h,cc} * Add string StartsWith * Add leveldb_key_test.cc to the project * Revert back to using leveldb::Slice for read/describe These operations universally operate on keys obtained from leveldb so it's actually unhelpful to force all the callers to make absl::string_views from them. * Everything passing * Drop unused function * Style * STart work on reads * Swap reads in queryCache to use transactions * Fix up tests of querycache * Drop commented out code * Cleanup * Style * Fix up for passing tests * style * Renaming * Style * Start work on ToString for transactions * Add ToString() method to LevelDbTransaction * Style * lint * Fix includes, drop runTransaction * current_transaction -> currentTransaction * LevelDbTransaction::NewIterator now returns a unique_ptr * Style * Revert addition of util::StartsWith * Add log line * Style * Add log line * Style * Add debug log line for commits, drop unused BatchDescription * STart work on reads * Swap reads in queryCache to use transactions * Start on remote documents * Transition mutation queue and remote documents to use transactions * Style * Make everything pass * Make everything pass * Make it compile * Style * Style * Revert name change, use DefaultReadOptions() * Style * Handle iterators returning bad statuses --- Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h') diff --git a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h index 20942e2..381d308 100644 --- a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h +++ b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h @@ -19,8 +19,8 @@ #include #import "Firestore/Source/Local/FSTRemoteDocumentCache.h" -#include "leveldb/db.h" +@class FSTLevelDB; @class FSTLocalSerializer; NS_ASSUME_NONNULL_BEGIN @@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN * * @param db The leveldb in which to create the cache. */ -- (instancetype)initWithDB:(std::shared_ptr)db +- (instancetype)initWithDB:(FSTLevelDB *)db serializer:(FSTLocalSerializer *)serializer NS_DESIGNATED_INITIALIZER; @end -- cgit v1.2.3