OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ | 5 #ifndef CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ |
6 #define CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ | 6 #define CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "chrome/browser/sync/syncable/syncable.h" | 9 #include "chrome/browser/sync/syncable/syncable.h" |
10 #include "chrome/browser/sync/syncable/syncable_changes_version.h" | 10 #include "chrome/browser/sync/syncable/syncable_changes_version.h" |
11 | 11 |
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 syncable. |
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 // These timestamps are kept in native file timestamp format. It is | 26 {"server_position_in_parent", "bigint default 0"}, |
27 // up to the syncer to translate to Java time when syncing. | 27 // This is the item ID that we store for the embedding application. |
| 28 {"local_external_id", "bigint default 0"}, |
| 29 // These timestamps are kept in the same format as that of the |
| 30 // protocol (ms since Unix epoch). |
28 {"mtime", "bigint default 0"}, | 31 {"mtime", "bigint default 0"}, |
29 {"server_mtime", "bigint default 0"}, | 32 {"server_mtime", "bigint default 0"}, |
30 {"ctime", "bigint default 0"}, | 33 {"ctime", "bigint default 0"}, |
31 {"server_ctime", "bigint default 0"}, | 34 {"server_ctime", "bigint default 0"}, |
32 {"server_position_in_parent", "bigint default 0"}, | |
33 // This is the item ID that we store for the embedding application. | |
34 {"local_external_id", "bigint default 0"}, | |
35 ////////////////////////////////////// | 35 ////////////////////////////////////// |
36 // Ids | 36 // Ids |
37 {"id", "varchar(255) default \"r\""}, | 37 {"id", "varchar(255) default \"r\""}, |
38 {"parent_id", "varchar(255) default \"r\""}, | 38 {"parent_id", "varchar(255) default \"r\""}, |
39 {"server_parent_id", "varchar(255) default \"r\""}, | 39 {"server_parent_id", "varchar(255) default \"r\""}, |
40 {"prev_id", "varchar(255) default \"r\""}, | 40 {"prev_id", "varchar(255) default \"r\""}, |
41 {"next_id", "varchar(255) default \"r\""}, | 41 {"next_id", "varchar(255) default \"r\""}, |
42 ////////////////////////////////////// | 42 ////////////////////////////////////// |
43 // bits | 43 // bits |
44 {"is_unsynced", "bit default 0"}, | 44 {"is_unsynced", "bit default 0"}, |
(...skipping 19 matching lines...) Expand all Loading... |
64 COMPILE_ASSERT(arraysize(g_metas_columns) <= FIELD_COUNT, extra_column_names); | 64 COMPILE_ASSERT(arraysize(g_metas_columns) <= FIELD_COUNT, extra_column_names); |
65 | 65 |
66 static inline const char* ColumnName(int field) { | 66 static inline const char* ColumnName(int field) { |
67 DCHECK(field < BEGIN_TEMPS); | 67 DCHECK(field < BEGIN_TEMPS); |
68 return g_metas_columns[field].name; | 68 return g_metas_columns[field].name; |
69 } | 69 } |
70 | 70 |
71 } // namespace syncable | 71 } // namespace syncable |
72 | 72 |
73 #endif // CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ | 73 #endif // CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_COLUMNS_H_ |
OLD | NEW |