summaryrefslogtreecommitdiffstats
path: root/chrome/browser/webdata/keyword_table.cc
diff options
context:
space:
mode:
authorgbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 23:43:25 +0000
committergbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 23:43:25 +0000
commitae6c59c831e325ea8cd45340e27acd75d5ddc4e5 (patch)
treee5f09f4a4e424afadb19ce5ca2ac287b87246b03 /chrome/browser/webdata/keyword_table.cc
parentb7de6329e41c26ca93fa4e4c5bfa5d157ef211ba (diff)
downloadchromium_src-ae6c59c831e325ea8cd45340e27acd75d5ddc4e5.zip
chromium_src-ae6c59c831e325ea8cd45340e27acd75d5ddc4e5.tar.gz
chromium_src-ae6c59c831e325ea8cd45340e27acd75d5ddc4e5.tar.bz2
Database usage adjustment for .../history
R=shess@chromium.org BUG=None TEST=.../history tests Review URL: http://codereview.chromium.org/9071014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118184 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/webdata/keyword_table.cc')
-rw-r--r--chrome/browser/webdata/keyword_table.cc71
1 files changed, 22 insertions, 49 deletions
diff --git a/chrome/browser/webdata/keyword_table.cc b/chrome/browser/webdata/keyword_table.cc
index 0cb2265..beefc7b 100644
--- a/chrome/browser/webdata/keyword_table.cc
+++ b/chrome/browser/webdata/keyword_table.cc
@@ -124,7 +124,6 @@ bool KeywordTable::Init() {
"instant_url VARCHAR,"
"last_modified INTEGER DEFAULT 0,"
"sync_guid VARCHAR)")) {
- NOTREACHED();
return false;
}
if (!UpdateBackupSignature())
@@ -151,9 +150,9 @@ bool KeywordTable::AddKeyword(const TemplateURL& url) {
BindURLToStatement(url, &s);
s.BindInt64(kUrlIdPosition, url.id());
- if (!s.Run()) {
+ if (!s.Run())
return false;
- }
+
return UpdateBackupSignature();
}
@@ -227,27 +226,21 @@ TemplateURL* KeywordTable::GetDefaultSearchProviderBackup() {
"suggest_url, prepopulate_id, autogenerate_keyword, logo_id, "
"created_by_policy, instant_url, last_modified, sync_guid "
"FROM keywords_backup WHERE id=?"));
- if (!s) {
- NOTREACHED() << "Statement prepare failed";
- return NULL;
- }
s.BindInt64(0, backup_id);
+
if (!s.Step()) {
- LOG(ERROR) << "No default search provider with backup id.";
+ LOG_IF(ERROR, s.Succeeded())
+ << "No default search provider with backup id.";
return NULL;
}
- scoped_ptr<TemplateURL> template_url(new TemplateURL());
- GetURLFromStatement(s, template_url.get());
+ TemplateURL* template_url = new TemplateURL();
+ GetURLFromStatement(s, template_url);
// ID has no meaning for the backup and should be 0 in case the TemplateURL
// will be added to keywords if missing.
template_url->set_id(0);
- if (!s.Succeeded()) {
- LOG(ERROR) << "Statement has not succeeded.";
- return NULL;
- }
- return template_url.release();
+ return template_url;
}
bool KeywordTable::DidDefaultSearchProviderChange() {
@@ -400,10 +393,8 @@ bool KeywordTable::MigrateToVersion41RewriteDefaultSearchProviderBackup() {
bool KeywordTable::MigrateToVersion42AddFullDefaultSearchProviderBackup() {
sql::Transaction transaction(db_);
- if (!transaction.Begin()) {
- NOTREACHED() << "Failed to start transaction";
+ if (!transaction.Begin())
return false;
- }
int64 id = 0;
if (!UpdateDefaultSearchProviderIDBackup(&id))
@@ -414,23 +405,17 @@ bool KeywordTable::MigrateToVersion42AddFullDefaultSearchProviderBackup() {
return false;
std::string keywords;
- if (!GetTableContents("keywords", &keywords)) {
- NOTREACHED() << "Can't get keywords table contents to sign";
+ if (!GetTableContents("keywords", &keywords))
return false;
- }
std::string data_to_sign = base::Int64ToString(id) +
keyword_backup +
keywords;
std::string signature = protector::SignSetting(data_to_sign);
- if (signature.empty()) {
+ if (signature.empty())
NOTREACHED() << "Signature is empty";
- return false;
- }
- if (!meta_table_->SetValue(kBackupSignatureKey, signature)) {
+ if (!meta_table_->SetValue(kBackupSignatureKey, signature))
NOTREACHED() << "Failed to write signature.";
- return false;
- }
return transaction.Commit();
}
@@ -472,26 +457,19 @@ bool KeywordTable::GetTableContents(const char* table_name,
" FROM " + std::string(table_name) + " ORDER BY id ASC";
sql::Statement s(db_->GetCachedStatement(sql::StatementID(table_name),
query.c_str()));
- if (!s) {
- NOTREACHED() << "Statement prepare failed";
- return false;
- }
while (s.Step())
table_data += s.ColumnString(0);
- if (!s.Succeeded()) {
- NOTREACHED() << "Statement execution failed";
+ if (!s.Succeeded())
return false;
- }
+
*contents = table_data;
return true;
}
bool KeywordTable::UpdateBackupSignature() {
sql::Transaction transaction(db_);
- if (!transaction.Begin()) {
- NOTREACHED() << "Failed to start transaction";
+ if (!transaction.Begin())
return false;
- }
int64 id = 0;
if (!UpdateDefaultSearchProviderIDBackup(&id)) {
@@ -501,8 +479,9 @@ bool KeywordTable::UpdateBackupSignature() {
// Backup of all keywords.
if (db_->DoesTableExist("keywords_backup") &&
- !db_->Execute("DROP TABLE keywords_backup"))
+ !db_->Execute("DROP TABLE keywords_backup")) {
return false;
+ }
if (!db_->Execute(
"CREATE TABLE keywords_backup AS "
@@ -528,10 +507,8 @@ bool KeywordTable::UpdateBackupSignature() {
return false;
}
- if (!meta_table_->SetValue(kBackupSignatureKey, signature)) {
- NOTREACHED() << "Failed to write signature.";
+ if (!meta_table_->SetValue(kBackupSignatureKey, signature))
return false;
- }
return transaction.Commit();
}
@@ -602,20 +579,16 @@ bool KeywordTable::GetKeywordAsString(TemplateURLID id,
"SELECT " + std::string(kKeywordColumnsConcatenated) +
" FROM " + table_name + " WHERE id=?";
sql::Statement s(db_->GetUniqueStatement(query.c_str()));
- if (!s) {
- NOTREACHED() << "Statement prepare failed";
- return false;
- }
s.BindInt64(0, id);
+
if (!s.Step()) {
- LOG(WARNING) << "No keyword with id: " << id << ", ignoring.";
+ LOG_IF(WARNING, s.Succeeded())
+ << "No keyword with id: " << id << ", ignoring.";
return true;
}
- if (!s.Succeeded()) {
- NOTREACHED() << "Statement failed.";
+ if (!s.Succeeded())
return false;
- }
*result = s.ColumnString(0);
return true;