diff options
author | Greg Soltis <gsoltis@google.com> | 2018-03-22 15:45:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-22 15:45:05 -0700 |
commit | 4afaafdc770612185c4e11d3f09226ce168462a5 (patch) | |
tree | 21c912e4c719a1b0a0961457017efce1f4b385c0 /Firestore/Source/Local/FSTWriteGroup.h | |
parent | 1e769d708459ff64ca3571ab562377cc56a9d637 (diff) |
Change write groups to use transactions (#912)
* 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
* Everything passing
* Drop unused function
* Style
* Renaming
* Style
* Add log line
* Style
* Add debug log line for commits, drop unused BatchDescription
Diffstat (limited to 'Firestore/Source/Local/FSTWriteGroup.h')
-rw-r--r-- | Firestore/Source/Local/FSTWriteGroup.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Firestore/Source/Local/FSTWriteGroup.h b/Firestore/Source/Local/FSTWriteGroup.h index c21ff72..a554597 100644 --- a/Firestore/Source/Local/FSTWriteGroup.h +++ b/Firestore/Source/Local/FSTWriteGroup.h @@ -19,6 +19,7 @@ #include <memory> #include "Firestore/Source/Local/StringView.h" +#include "Firestore/core/src/firebase/firestore/local/leveldb_transaction.h" #include "leveldb/db.h" NS_ASSUME_NONNULL_BEGIN @@ -46,13 +47,15 @@ NS_ASSUME_NONNULL_BEGIN */ + (instancetype)groupWithAction:(NSString *)action; ++ (instancetype)groupWithAction:(NSString *)action + transaction:(firebase::firestore::local::LevelDbTransaction *)transaction; + - (instancetype)init __attribute__((unavailable("Use a static constructor instead"))); /** The action description assigned to this write group. */ @property(nonatomic, copy, readonly) NSString *action; -/** Returns YES if the write group has no messages in it. */ -- (BOOL)isEmpty; +@property(nonatomic, readonly) firebase::firestore::local::LevelDbTransaction *transaction; /** * Marks the given key for deletion. @@ -78,8 +81,8 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)setData:(Firestore::StringView)data forKey:(Firestore::StringView)key; -/** Writes the contents to the given LevelDB. */ -- (leveldb::Status)writeToDB:(std::shared_ptr<leveldb::DB>)db; +/** Returns YES if the write group has no messages in it. */ +- (BOOL)isEmpty; @end |