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

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

Issue 10989063: Changed DB to store node positions as Ordinals. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fixed memory leak error in unittest 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 unified diff | Download patch
« no previous file with comments | « sync/syncable/mutable_entry.cc ('k') | sync/syncable/syncable_enum_conversions.h » ('j') | 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" 8 #include "sync/syncable/entry_kernel.h"
9 #include "sync/syncable/syncable_changes_version.h" 9 #include "sync/syncable/syncable_changes_version.h"
10 10
11 namespace syncer { 11 namespace syncer {
12 namespace syncable { 12 namespace syncable {
13 13
14 struct ColumnSpec { 14 struct ColumnSpec {
15 const char* name; 15 const char* name;
16 const char* spec; 16 const char* spec;
17 }; 17 };
18 18
19 // Must be in exact same order as fields in syncable. 19 // Must be in exact same order as fields in entry_kernel.h.
20 static const ColumnSpec g_metas_columns[] = { 20 static const ColumnSpec g_metas_columns[] = {
21 ////////////////////////////////////// 21 //////////////////////////////////////
22 // int64s 22 // int64s
23 {"metahandle", "bigint primary key ON CONFLICT FAIL"}, 23 {"metahandle", "bigint primary key ON CONFLICT FAIL"},
24 {"base_version", "bigint default " CHANGES_VERSION_STRING}, 24 {"base_version", "bigint default " CHANGES_VERSION_STRING},
25 {"server_version", "bigint default 0"}, 25 {"server_version", "bigint default 0"},
26 {"server_position_in_parent", "bigint default 0"},
27 // This is the item ID that we store for the embedding application. 26 // This is the item ID that we store for the embedding application.
28 {"local_external_id", "bigint default 0"}, 27 {"local_external_id", "bigint default 0"},
29 // These timestamps are kept in the same format as that of the 28 // These timestamps are kept in the same format as that of the
30 // protocol (ms since Unix epoch). 29 // protocol (ms since Unix epoch).
31 {"mtime", "bigint default 0"}, 30 {"mtime", "bigint default 0"},
32 {"server_mtime", "bigint default 0"}, 31 {"server_mtime", "bigint default 0"},
33 {"ctime", "bigint default 0"}, 32 {"ctime", "bigint default 0"},
34 {"server_ctime", "bigint default 0"}, 33 {"server_ctime", "bigint default 0"},
35 ////////////////////////////////////// 34 //////////////////////////////////////
36 // Ids 35 // Ids
(...skipping 10 matching lines...) Expand all
47 {"is_dir", "bit default 0"}, 46 {"is_dir", "bit default 0"},
48 {"server_is_dir", "bit default 0"}, 47 {"server_is_dir", "bit default 0"},
49 {"server_is_del", "bit default 0"}, 48 {"server_is_del", "bit default 0"},
50 ////////////////////////////////////// 49 //////////////////////////////////////
51 // Strings 50 // Strings
52 {"non_unique_name", "varchar"}, 51 {"non_unique_name", "varchar"},
53 {"server_non_unique_name", "varchar(255)"}, 52 {"server_non_unique_name", "varchar(255)"},
54 {"unique_server_tag", "varchar"}, 53 {"unique_server_tag", "varchar"},
55 {"unique_client_tag", "varchar"}, 54 {"unique_client_tag", "varchar"},
56 ////////////////////////////////////// 55 //////////////////////////////////////
57 // Blobs. 56 // Blobs (serialized protos).
58 {"specifics", "blob"}, 57 {"specifics", "blob"},
59 {"server_specifics", "blob"}, 58 {"server_specifics", "blob"},
60 {"base_server_specifics", "blob"} 59 {"base_server_specifics", "blob"},
60 //////////////////////////////////////
61 // Blobs (ordinals).
62 {"server_ordinal_in_parent", "blob"},
61 }; 63 };
62 64
63 // At least enforce that there are equal number of column names and fields. 65 // At least enforce that there are equal number of column names and fields.
64 COMPILE_ASSERT(arraysize(g_metas_columns) >= FIELD_COUNT, missing_column_name); 66 COMPILE_ASSERT(arraysize(g_metas_columns) >= FIELD_COUNT, missing_column_name);
65 COMPILE_ASSERT(arraysize(g_metas_columns) <= FIELD_COUNT, extra_column_names); 67 COMPILE_ASSERT(arraysize(g_metas_columns) <= FIELD_COUNT, extra_column_names);
66 68
67 static inline const char* ColumnName(int field) { 69 static inline const char* ColumnName(int field) {
68 DCHECK(field < BEGIN_TEMPS); 70 DCHECK(field < BEGIN_TEMPS);
69 return g_metas_columns[field].name; 71 return g_metas_columns[field].name;
70 } 72 }
71 73
72 } // namespace syncable 74 } // namespace syncable
73 } // namespace syncer 75 } // namespace syncer
74 76
75 #endif // SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ 77 #endif // SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_
OLDNEW
« no previous file with comments | « sync/syncable/mutable_entry.cc ('k') | sync/syncable/syncable_enum_conversions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698