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

Side by Side Diff: chrome/browser/history/history_database.h

Issue 173296: Convert internal time format to Windows 1601 epoch on Linux & Mac.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/history_database.cc » ('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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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_HISTORY_HISTORY_DATABASE_H_ 5 #ifndef CHROME_BROWSER_HISTORY_HISTORY_DATABASE_H_
6 #define CHROME_BROWSER_HISTORY_HISTORY_DATABASE_H_ 6 #define CHROME_BROWSER_HISTORY_HISTORY_DATABASE_H_
7 7
8 #include "build/build_config.h"
8 #include "chrome/browser/history/download_database.h" 9 #include "chrome/browser/history/download_database.h"
9 #include "chrome/browser/history/history_types.h" 10 #include "chrome/browser/history/history_types.h"
10 #include "chrome/browser/history/starred_url_database.h" 11 #include "chrome/browser/history/starred_url_database.h"
11 #include "chrome/browser/history/url_database.h" 12 #include "chrome/browser/history/url_database.h"
12 #include "chrome/browser/history/visit_database.h" 13 #include "chrome/browser/history/visit_database.h"
13 #include "chrome/browser/history/visitsegment_database.h" 14 #include "chrome/browser/history/visitsegment_database.h"
14 #include "chrome/browser/meta_table_helper.h" 15 #include "chrome/browser/meta_table_helper.h"
15 16
16 struct sqlite3; 17 struct sqlite3;
17 18
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 // 104 //
104 // This will also recreate the supplementary URL indices, since these 105 // This will also recreate the supplementary URL indices, since these
105 // indices won't be created automatically when using the temporary URL 106 // indices won't be created automatically when using the temporary URL
106 // table (what the caller does right before calling this). 107 // table (what the caller does right before calling this).
107 bool RecreateAllTablesButURL(); 108 bool RecreateAllTablesButURL();
108 109
109 // Vacuums the database. This will cause sqlite to defragment and collect 110 // Vacuums the database. This will cause sqlite to defragment and collect
110 // unused space in the file. It can be VERY SLOW. 111 // unused space in the file. It can be VERY SLOW.
111 void Vacuum(); 112 void Vacuum();
112 113
114 // Returns true if the history backend should erase the full text search
115 // and archived history files as part of version 16 -> 17 migration. The
116 // time format changed in this revision, and these files would be much slower
117 // to migrate. Since the data is less important, they should be deleted.
118 //
119 // This flag will be valid after Init() is called. It will always be false
120 // when running on Windows.
121 bool needs_version_17_migration() const {
122 return needs_version_17_migration_;
123 }
124
113 // Visit table functions ---------------------------------------------------- 125 // Visit table functions ----------------------------------------------------
114 126
115 // Update the segment id of a visit. Return true on success. 127 // Update the segment id of a visit. Return true on success.
116 bool SetSegmentID(VisitID visit_id, SegmentID segment_id); 128 bool SetSegmentID(VisitID visit_id, SegmentID segment_id);
117 129
118 // Query the segment ID for the provided visit. Return 0 on failure or if the 130 // Query the segment ID for the provided visit. Return 0 on failure or if the
119 // visit id wasn't found. 131 // visit id wasn't found.
120 SegmentID GetSegmentID(VisitID visit_id); 132 SegmentID GetSegmentID(VisitID visit_id);
121 133
122 // Retrieves/Updates early expiration threshold, which specifies the earliest 134 // Retrieves/Updates early expiration threshold, which specifies the earliest
(...skipping 14 matching lines...) Expand all
137 149
138 // Makes sure the version is up-to-date, updating if necessary. If the 150 // Makes sure the version is up-to-date, updating if necessary. If the
139 // database is too old to migrate, the user will be notified. In this case, or 151 // database is too old to migrate, the user will be notified. In this case, or
140 // for other errors, false will be returned. True means it is up-to-date and 152 // for other errors, false will be returned. True means it is up-to-date and
141 // ready for use. 153 // ready for use.
142 // 154 //
143 // This assumes it is called from the init function inside a transaction. It 155 // This assumes it is called from the init function inside a transaction. It
144 // may commit the transaction and start a new one if migration requires it. 156 // may commit the transaction and start a new one if migration requires it.
145 InitStatus EnsureCurrentVersion(const FilePath& tmp_bookmarks_path); 157 InitStatus EnsureCurrentVersion(const FilePath& tmp_bookmarks_path);
146 158
159 #if !defined(OS_WIN)
160 // Converts the time epoch in the database from being 1970-based to being
161 // 1601-based which corresponds to the change in Time.internal_value_.
162 void MigrateTimeEpoch();
163 #endif
164
147 // --------------------------------------------------------------------------- 165 // ---------------------------------------------------------------------------
148 166
149 // How many nested transactions are pending? When this gets to 0, we commit. 167 // How many nested transactions are pending? When this gets to 0, we commit.
150 int transaction_nesting_; 168 int transaction_nesting_;
151 169
152 // The database. The closer automatically closes the deletes the db and the 170 // The database. The closer automatically closes the deletes the db and the
153 // statement cache. These must be done in a specific order, so we don't want 171 // statement cache. These must be done in a specific order, so we don't want
154 // to rely on C++'s implicit destructors for the individual objects. 172 // to rely on C++'s implicit destructors for the individual objects.
155 // 173 //
156 // The close scoper will free the database and delete the statement cache in 174 // The close scoper will free the database and delete the statement cache in
157 // the correct order automatically when we are destroyed. 175 // the correct order automatically when we are destroyed.
158 DBCloseScoper db_closer_; 176 DBCloseScoper db_closer_;
159 sqlite3* db_; 177 sqlite3* db_;
160 SqliteStatementCache* statement_cache_; 178 SqliteStatementCache* statement_cache_;
161 179
162 MetaTableHelper meta_table_; 180 MetaTableHelper meta_table_;
163 base::Time cached_early_expiration_threshold_; 181 base::Time cached_early_expiration_threshold_;
164 182
183 // See the getter above.
184 bool needs_version_17_migration_;
185
165 DISALLOW_COPY_AND_ASSIGN(HistoryDatabase); 186 DISALLOW_COPY_AND_ASSIGN(HistoryDatabase);
166 }; 187 };
167 188
168 } // history 189 } // history
169 190
170 #endif // CHROME_BROWSER_HISTORY_HISTORY_DATABASE_H_ 191 #endif // CHROME_BROWSER_HISTORY_HISTORY_DATABASE_H_
OLDNEW
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/history_database.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698