Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(218)

Unified Diff: sync/syncable/mutable_entry.cc

Issue 10989063: Changed DB to store node positions as Ordinals. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Changed server_position to server_ordinal in DB Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sync/syncable/mutable_entry.cc
diff --git a/sync/syncable/mutable_entry.cc b/sync/syncable/mutable_entry.cc
index 869320f33e20aa487ebbc4ecaefc015ed9f1d90e..86f289ee9e1a5316c16e1c9741ecabb47587af6f 100644
--- a/sync/syncable/mutable_entry.cc
+++ b/sync/syncable/mutable_entry.cc
@@ -141,14 +141,14 @@ bool MutableEntry::PutIsDel(bool is_del) {
return true;
}
-bool MutableEntry::Put(Int64Field field, const int64& value) {
+bool MutableEntry::Put(OrdinalField field, const NodeOrdinal& value) {
DCHECK(kernel_);
write_transaction_->SaveOriginal(kernel_);
- if (kernel_->ref(field) != value) {
+ if(!kernel_->ref(field).Equals(value)) {
ScopedKernelLock lock(dir());
- if (SERVER_POSITION_IN_PARENT == field) {
- ScopedIndexUpdater<ParentIdAndHandleIndexer> updater(lock, kernel_,
- dir()->kernel_->parent_id_child_index);
+ if (SERVER_ORDINAL_IN_PARENT == field) {
+ ScopedIndexUpdater<ParentIdAndHandleIndexer> updater(
+ lock, kernel_, dir()->kernel_->parent_id_child_index);
rlarocque 2012/10/05 19:02:55 nit: This indent is off by one. I think you should
kernel_->put(field, value);
} else {
kernel_->put(field, value);
@@ -158,6 +158,17 @@ bool MutableEntry::Put(Int64Field field, const int64& value) {
return true;
}
+bool MutableEntry::Put(Int64Field field, const int64& value) {
+ DCHECK(kernel_);
+ write_transaction_->SaveOriginal(kernel_);
+ if (kernel_->ref(field) != value) {
+ ScopedKernelLock lock(dir());
+ kernel_->put(field, value);
+ kernel_->mark_dirty(dir()->kernel_->dirty_metahandles);
+ }
+ return true;
+}
+
bool MutableEntry::Put(TimeField field, const base::Time& value) {
DCHECK(kernel_);
write_transaction_->SaveOriginal(kernel_);

Powered by Google App Engine
This is Rietveld 408576698