summaryrefslogtreecommitdiffstats
path: root/chrome/browser/history/history_database.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/history/history_database.cc')
-rw-r--r--chrome/browser/history/history_database.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/chrome/browser/history/history_database.cc b/chrome/browser/history/history_database.cc
index 5a36951..f4c3aa1 100644
--- a/chrome/browser/history/history_database.cc
+++ b/chrome/browser/history/history_database.cc
@@ -28,7 +28,7 @@ namespace {
// Current version number. We write databases at the "current" version number,
// but any previous version that can read the "compatible" one can make do with
// or database without *too* many bad effects.
-static const int kCurrentVersionNumber = 20;
+static const int kCurrentVersionNumber = 21;
static const int kCompatibleVersionNumber = 16;
static const char kEarlyExpirationThresholdKey[] = "early_expiration_threshold";
@@ -311,6 +311,17 @@ sql::InitStatus HistoryDatabase::EnsureCurrentVersion(
meta_table_.SetValue(kNeedsThumbnailMigrationKey, 1);
}
+ if (cur_version == 20) {
+ // This is the version prior to adding the visit_duration field in visits
+ // database. We need to migrate the database.
+ if (!MigrateVisitsWithoutDuration()) {
+ LOG(WARNING) << "Unable to update history database to version 21.";
+ return sql::INIT_FAILURE;
+ }
+ ++cur_version;
+ meta_table_.SetVersionNumber(cur_version);
+ }
+
// When the version is too old, we just try to continue anyway, there should
// not be a released product that makes a database too old for us to handle.
LOG_IF(WARNING, cur_version < GetCurrentVersion()) <<