aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc')
-rw-r--r--Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc b/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc
index af72716..4e4a313 100644
--- a/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc
+++ b/Firestore/core/src/firebase/firestore/local/leveldb_transaction.cc
@@ -18,6 +18,7 @@
#include <leveldb/write_batch.h>
+#include "Firestore/core/src/firebase/firestore/local/leveldb_key.h"
#include "Firestore/core/src/firebase/firestore/util/firebase_assert.h"
using leveldb::DB;
@@ -206,6 +207,25 @@ void LevelDbTransaction::Commit() {
status.ToString().c_str());
}
+std::string LevelDbTransaction::ToString() {
+ std::string dest("<LevelDbTransaction: ");
+ int64_t changes = deletions_.size() + mutations_.size();
+ int64_t bytes = 0; // accumulator for size of individual mutations.
+ dest += std::to_string(changes) + " changes ";
+ std::string items; // accumulator for individual changes.
+ for (auto it = deletions_.begin(); it != deletions_.end(); it++) {
+ items += "\n - Delete " + Describe(*it);
+ }
+ for (auto it = mutations_.begin(); it != mutations_.end(); it++) {
+ int64_t change_bytes = it->second.length();
+ bytes += change_bytes;
+ items += "\n - Put " + Describe(it->first) + " (" +
+ std::to_string(change_bytes) + " bytes)";
+ }
+ dest += "(" + std::to_string(bytes) + " bytes):" + items + ">";
+ return dest;
+}
+
} // namespace local
} // namespace firestore
} // namespace firebase