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

Side by Side Diff: sync/syncable/syncable_columns.h

Issue 1258863007: [Sync] Add more info for invalid position check (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove change from directory since too much test failures Created 5 years, 4 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 unified diff | Download patch
« sync/syncable/entry_kernel.h ('K') | « sync/syncable/entry_kernel.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ 5 #ifndef SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_
6 #define SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ 6 #define SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_
7 7
8 #include "sync/syncable/entry_kernel.h"
9 #include "sync/syncable/syncable_changes_version.h" 8 #include "sync/syncable/syncable_changes_version.h"
10 9
11 namespace syncer { 10 namespace syncer {
12 namespace syncable { 11 namespace syncable {
13 12
13 enum {
stanisc 2015/08/07 18:24:04 This is an unnecessary change. I'd prefer to keep
Gang Wu 2015/08/07 20:50:57 Done.
14 BEGIN_FIELDS = 0,
15 INT64_FIELDS_BEGIN = BEGIN_FIELDS
16 };
17
18 enum MetahandleField {
19 // Primary key into the table. Keep this as a handle to the meta entry
20 // across transactions.
21 META_HANDLE = INT64_FIELDS_BEGIN
22 };
23
24 enum BaseVersion {
25 // After initial upload, the version is controlled by the server, and is
26 // increased whenever the data or metadata changes on the server.
27 BASE_VERSION = META_HANDLE + 1,
28 };
29
30 enum Int64Field {
31 SERVER_VERSION = BASE_VERSION + 1,
32 LOCAL_EXTERNAL_ID, // ID of an item in the external local storage that this
33 // entry is associated with. (such as bookmarks.js)
34 TRANSACTION_VERSION,
35 INT64_FIELDS_END
36 };
37
38 enum {
39 INT64_FIELDS_COUNT = INT64_FIELDS_END - INT64_FIELDS_BEGIN,
40 TIME_FIELDS_BEGIN = INT64_FIELDS_END,
41 };
42
43 enum TimeField {
44 MTIME = TIME_FIELDS_BEGIN,
45 SERVER_MTIME,
46 CTIME,
47 SERVER_CTIME,
48 TIME_FIELDS_END,
49 };
50
51 enum {
52 TIME_FIELDS_COUNT = TIME_FIELDS_END - TIME_FIELDS_BEGIN,
53 ID_FIELDS_BEGIN = TIME_FIELDS_END,
54 };
55
56 enum IdField {
57 // Code in InitializeTables relies on ID being the first IdField value.
58 ID = ID_FIELDS_BEGIN,
59 PARENT_ID,
60 SERVER_PARENT_ID,
61 ID_FIELDS_END
62 };
63
64 enum {
65 ID_FIELDS_COUNT = ID_FIELDS_END - ID_FIELDS_BEGIN,
66 BIT_FIELDS_BEGIN = ID_FIELDS_END
67 };
68
69 enum IndexedBitField {
70 IS_UNSYNCED = BIT_FIELDS_BEGIN,
71 IS_UNAPPLIED_UPDATE,
72 INDEXED_BIT_FIELDS_END,
73 };
74
75 enum IsDelField {
76 IS_DEL = INDEXED_BIT_FIELDS_END,
77 };
78
79 enum BitField {
80 IS_DIR = IS_DEL + 1,
81 SERVER_IS_DIR,
82 SERVER_IS_DEL,
83 BIT_FIELDS_END
84 };
85
86 enum {
87 BIT_FIELDS_COUNT = BIT_FIELDS_END - BIT_FIELDS_BEGIN,
88 STRING_FIELDS_BEGIN = BIT_FIELDS_END
89 };
90
91 enum StringField {
92 // Name, will be truncated by server. Can be duplicated in a folder.
93 NON_UNIQUE_NAME = STRING_FIELDS_BEGIN,
94 // The server version of |NON_UNIQUE_NAME|.
95 SERVER_NON_UNIQUE_NAME,
96
97 // A tag string which identifies this node as a particular top-level
98 // permanent object. The tag can be thought of as a unique key that
99 // identifies a singleton instance.
100 UNIQUE_SERVER_TAG, // Tagged by the server
101 UNIQUE_CLIENT_TAG, // Tagged by the client
102 UNIQUE_BOOKMARK_TAG, // Client tags for bookmark items
103 STRING_FIELDS_END,
104 };
105
106 enum {
107 STRING_FIELDS_COUNT = STRING_FIELDS_END - STRING_FIELDS_BEGIN,
108 PROTO_FIELDS_BEGIN = STRING_FIELDS_END
109 };
110
111 // From looking at the sqlite3 docs, it's not directly stated, but it
112 // seems the overhead for storing a NULL blob is very small.
113 enum ProtoField {
114 SPECIFICS = PROTO_FIELDS_BEGIN,
115 SERVER_SPECIFICS,
116 BASE_SERVER_SPECIFICS,
117 PROTO_FIELDS_END,
118 };
119
120 enum {
121 PROTO_FIELDS_COUNT = PROTO_FIELDS_END - PROTO_FIELDS_BEGIN,
122 UNIQUE_POSITION_FIELDS_BEGIN = PROTO_FIELDS_END
123 };
124
125 enum UniquePositionField {
126 SERVER_UNIQUE_POSITION = UNIQUE_POSITION_FIELDS_BEGIN,
127 UNIQUE_POSITION,
128 UNIQUE_POSITION_FIELDS_END
129 };
130
131 enum {
132 UNIQUE_POSITION_FIELDS_COUNT =
133 UNIQUE_POSITION_FIELDS_END - UNIQUE_POSITION_FIELDS_BEGIN,
134 ATTACHMENT_METADATA_FIELDS_BEGIN = UNIQUE_POSITION_FIELDS_END
135 };
136
137 enum AttachmentMetadataField {
138 ATTACHMENT_METADATA = ATTACHMENT_METADATA_FIELDS_BEGIN,
139 SERVER_ATTACHMENT_METADATA,
140 ATTACHMENT_METADATA_FIELDS_END
141 };
142
143 enum {
144 ATTACHMENT_METADATA_FIELDS_COUNT =
145 ATTACHMENT_METADATA_FIELDS_END - ATTACHMENT_METADATA_FIELDS_BEGIN,
146 FIELD_COUNT = ATTACHMENT_METADATA_FIELDS_END - BEGIN_FIELDS,
147 // Past this point we have temporaries, stored in memory only.
148 BEGIN_TEMPS = ATTACHMENT_METADATA_FIELDS_END,
149 BIT_TEMPS_BEGIN = BEGIN_TEMPS,
150 };
151
152 enum BitTemp {
153 // Whether a server commit operation was started and has not yet completed
154 // for this entity.
155 SYNCING = BIT_TEMPS_BEGIN,
156 // Whether a local change was made to an entity that had SYNCING set to true,
157 // and was therefore in the middle of a commit operation.
158 // Note: must only be set if SYNCING is true.
159 DIRTY_SYNC,
160 BIT_TEMPS_END,
161 };
162
163 enum {
164 BIT_TEMPS_COUNT = BIT_TEMPS_END - BIT_TEMPS_BEGIN
165 };
166
14 struct ColumnSpec { 167 struct ColumnSpec {
15 const char* name; 168 const char* name;
16 const char* spec; 169 const char* spec;
17 }; 170 };
18 171
19 // Must be in exact same order as fields in entry_kernel.h. 172 // Must be in exact same order as fields in entry_kernel.h.
20 static const ColumnSpec g_metas_columns[] = { 173 static const ColumnSpec g_metas_columns[] = {
21 ////////////////////////////////////// 174 //////////////////////////////////////
22 // int64s 175 // int64s
23 {"metahandle", "bigint primary key ON CONFLICT FAIL"}, 176 {"metahandle", "bigint primary key ON CONFLICT FAIL"},
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 230
78 static inline const char* ColumnName(int field) { 231 static inline const char* ColumnName(int field) {
79 DCHECK(field < BEGIN_TEMPS); 232 DCHECK(field < BEGIN_TEMPS);
80 return g_metas_columns[field].name; 233 return g_metas_columns[field].name;
81 } 234 }
82 235
83 } // namespace syncable 236 } // namespace syncable
84 } // namespace syncer 237 } // namespace syncer
85 238
86 #endif // SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ 239 #endif // SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_
OLDNEW
« sync/syncable/entry_kernel.h ('K') | « sync/syncable/entry_kernel.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698