| Index: chrome/browser/webdata/keyword_table.cc
|
| diff --git a/chrome/browser/webdata/keyword_table.cc b/chrome/browser/webdata/keyword_table.cc
|
| index 35edb56e72836073b80246686be2d223892df58a..fd812e523b924ed72b0ff719eab1c52a3d156b5e 100644
|
| --- a/chrome/browser/webdata/keyword_table.cc
|
| +++ b/chrome/browser/webdata/keyword_table.cc
|
| @@ -226,3 +226,67 @@ int KeywordTable::GetBuitinKeywordVersion() {
|
| meta_table_->GetValue(kBuiltinKeywordVersion, &version);
|
| return version;
|
| }
|
| +
|
| +bool KeywordTable::MigrateToVersion21AutoGenerateKeywordColumn() {
|
| + return db_->Execute("ALTER TABLE keywords ADD COLUMN autogenerate_keyword "
|
| + "INTEGER DEFAULT 0");
|
| +}
|
| +
|
| +bool KeywordTable::MigrateToVersion25AddLogoIDColumn() {
|
| + return db_->Execute(
|
| + "ALTER TABLE keywords ADD COLUMN logo_id INTEGER DEFAULT 0");
|
| +}
|
| +
|
| +bool KeywordTable::MigrateToVersion26AddCreatedByPolicyColumn() {
|
| + return db_->Execute("ALTER TABLE keywords ADD COLUMN created_by_policy "
|
| + "INTEGER DEFAULT 0");
|
| +}
|
| +
|
| +bool KeywordTable::MigrateToVersion28SupportsInstantColumn() {
|
| + return db_->Execute("ALTER TABLE keywords ADD COLUMN supports_instant "
|
| + "INTEGER DEFAULT 0");
|
| +}
|
| +
|
| +bool KeywordTable::MigrateToVersion29InstantUrlToSupportsInstant() {
|
| + if (!db_->Execute("ALTER TABLE keywords ADD COLUMN instant_url VARCHAR"))
|
| + return false;
|
| +
|
| + if (!db_->Execute("CREATE TABLE keywords_temp ("
|
| + "id INTEGER PRIMARY KEY,"
|
| + "short_name VARCHAR NOT NULL,"
|
| + "keyword VARCHAR NOT NULL,"
|
| + "favicon_url VARCHAR NOT NULL,"
|
| + "url VARCHAR NOT NULL,"
|
| + "show_in_default_list INTEGER,"
|
| + "safe_for_autoreplace INTEGER,"
|
| + "originating_url VARCHAR,"
|
| + "date_created INTEGER DEFAULT 0,"
|
| + "usage_count INTEGER DEFAULT 0,"
|
| + "input_encodings VARCHAR,"
|
| + "suggest_url VARCHAR,"
|
| + "prepopulate_id INTEGER DEFAULT 0,"
|
| + "autogenerate_keyword INTEGER DEFAULT 0,"
|
| + "logo_id INTEGER DEFAULT 0,"
|
| + "created_by_policy INTEGER DEFAULT 0,"
|
| + "instant_url VARCHAR)")) {
|
| + return false;
|
| + }
|
| +
|
| + if (!db_->Execute(
|
| + "INSERT INTO keywords_temp "
|
| + "SELECT id, short_name, keyword, favicon_url, url, "
|
| + "show_in_default_list, safe_for_autoreplace, originating_url, "
|
| + "date_created, usage_count, input_encodings, suggest_url, "
|
| + "prepopulate_id, autogenerate_keyword, logo_id, created_by_policy, "
|
| + "instant_url FROM keywords")) {
|
| + return false;
|
| + }
|
| +
|
| + if (!db_->Execute("DROP TABLE keywords"))
|
| + return false;
|
| +
|
| + if (!db_->Execute("ALTER TABLE keywords_temp RENAME TO keywords"))
|
| + return false;
|
| +
|
| + return true;
|
| +}
|
|
|