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

Unified Diff: webkit/appcache/appcache_database.cc

Issue 9249025: Database usage adjustment for .../webkit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head Created 8 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/appcache/appcache_database.h ('k') | webkit/database/database_tracker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/appcache/appcache_database.cc
diff --git a/webkit/appcache/appcache_database.cc b/webkit/appcache/appcache_database.cc
index ec49f885a346a439b0b1e101052115ae321f535c..61d4e53e0e7fee7d2dbb8f98b22733542ca94a13 100644
--- a/webkit/appcache/appcache_database.cc
+++ b/webkit/appcache/appcache_database.cc
@@ -240,9 +240,7 @@ bool AppCacheDatabase::FindOriginsWithGroups(std::set<GURL>* origins) {
const char* kSql =
"SELECT DISTINCT(origin) FROM Groups";
- sql::Statement statement;
- if (!PrepareUniqueStatement(kSql, &statement))
- return false;
+ sql::Statement statement(db_->GetUniqueStatement(kSql));
while (statement.Step())
origins->insert(GURL(statement.ColumnString(0)));
@@ -306,12 +304,10 @@ bool AppCacheDatabase::FindGroup(int64 group_id, GroupRecord* record) {
" creation_time, last_access_time"
" FROM Groups WHERE group_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, group_id);
- if (!statement.Step() || !statement.Succeeded())
+ if (!statement.Step())
return false;
ReadGroupRecord(statement, record);
@@ -330,12 +326,10 @@ bool AppCacheDatabase::FindGroupForManifestUrl(
" creation_time, last_access_time"
" FROM Groups WHERE manifest_url = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindString(0, manifest_url.spec());
- if (!statement.Step() || !statement.Succeeded())
+
+ if (!statement.Step())
return false;
ReadGroupRecord(statement, record);
@@ -354,11 +348,9 @@ bool AppCacheDatabase::FindGroupsForOrigin(
" creation_time, last_access_time"
" FROM Groups WHERE origin = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindString(0, origin.spec());
+
while (statement.Step()) {
records->push_back(GroupRecord());
ReadGroupRecord(statement, &records->back());
@@ -379,12 +371,10 @@ bool AppCacheDatabase::FindGroupForCache(int64 cache_id, GroupRecord* record) {
" FROM Groups g, Caches c"
" WHERE c.cache_id = ? AND c.group_id = g.group_id";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
- if (!statement.Step() || !statement.Succeeded())
+
+ if (!statement.Step())
return false;
ReadGroupRecord(statement, record);
@@ -399,12 +389,10 @@ bool AppCacheDatabase::UpdateGroupLastAccessTime(
const char* kSql =
"UPDATE Groups SET last_access_time = ? WHERE group_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, time.ToInternalValue());
statement.BindInt64(1, group_id);
+
return statement.Run() && db_->GetLastChangeCount();
}
@@ -417,15 +405,13 @@ bool AppCacheDatabase::InsertGroup(const GroupRecord* record) {
" (group_id, origin, manifest_url, creation_time, last_access_time)"
" VALUES(?, ?, ?, ?, ?)";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, record->group_id);
statement.BindString(1, record->origin.spec());
statement.BindString(2, record->manifest_url.spec());
statement.BindInt64(3, record->creation_time.ToInternalValue());
statement.BindInt64(4, record->last_access_time.ToInternalValue());
+
return statement.Run();
}
@@ -436,11 +422,9 @@ bool AppCacheDatabase::DeleteGroup(int64 group_id) {
const char* kSql =
"DELETE FROM Groups WHERE group_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, group_id);
+
return statement.Run();
}
@@ -453,12 +437,10 @@ bool AppCacheDatabase::FindCache(int64 cache_id, CacheRecord* record) {
"SELECT cache_id, group_id, online_wildcard, update_time, cache_size"
" FROM Caches WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
- if (!statement.Step() || !statement.Succeeded())
+
+ if (!statement.Step())
return false;
ReadCacheRecord(statement, record);
@@ -474,12 +456,10 @@ bool AppCacheDatabase::FindCacheForGroup(int64 group_id, CacheRecord* record) {
"SELECT cache_id, group_id, online_wildcard, update_time, cache_size"
" FROM Caches WHERE group_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, group_id);
- if (!statement.Step() || !statement.Succeeded())
+
+ if (!statement.Step())
return false;
ReadCacheRecord(statement, record);
@@ -512,15 +492,13 @@ bool AppCacheDatabase::InsertCache(const CacheRecord* record) {
" update_time, cache_size)"
" VALUES(?, ?, ?, ?, ?)";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, record->cache_id);
statement.BindInt64(1, record->group_id);
statement.BindBool(2, record->online_wildcard);
statement.BindInt64(3, record->update_time.ToInternalValue());
statement.BindInt64(4, record->cache_size);
+
return statement.Run();
}
@@ -531,11 +509,9 @@ bool AppCacheDatabase::DeleteCache(int64 cache_id) {
const char* kSql =
"DELETE FROM Caches WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
return statement.Run();
}
@@ -549,11 +525,9 @@ bool AppCacheDatabase::FindEntriesForCache(
"SELECT cache_id, url, flags, response_id, response_size FROM Entries"
" WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
while (statement.Step()) {
records->push_back(EntryRecord());
ReadEntryRecord(statement, &records->back());
@@ -573,11 +547,9 @@ bool AppCacheDatabase::FindEntriesForUrl(
"SELECT cache_id, url, flags, response_id, response_size FROM Entries"
" WHERE url = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindString(0, url.spec());
+
while (statement.Step()) {
records->push_back(EntryRecord());
ReadEntryRecord(statement, &records->back());
@@ -597,13 +569,11 @@ bool AppCacheDatabase::FindEntry(
"SELECT cache_id, url, flags, response_id, response_size FROM Entries"
" WHERE cache_id = ? AND url = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
statement.BindString(1, url.spec());
- if (!statement.Step() || !statement.Succeeded())
+
+ if (!statement.Step())
return false;
ReadEntryRecord(statement, record);
@@ -620,15 +590,13 @@ bool AppCacheDatabase::InsertEntry(const EntryRecord* record) {
"INSERT INTO Entries (cache_id, url, flags, response_id, response_size)"
" VALUES(?, ?, ?, ?, ?)";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, record->cache_id);
statement.BindString(1, record->url.spec());
statement.BindInt(2, record->flags);
statement.BindInt64(3, record->response_id);
statement.BindInt64(4, record->response_size);
+
return statement.Run();
}
@@ -655,11 +623,9 @@ bool AppCacheDatabase::DeleteEntriesForCache(int64 cache_id) {
const char* kSql =
"DELETE FROM Entries WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
return statement.Run();
}
@@ -671,13 +637,11 @@ bool AppCacheDatabase::AddEntryFlags(
const char* kSql =
"UPDATE Entries SET flags = flags | ? WHERE cache_id = ? AND url = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt(0, additional_flags);
statement.BindInt64(1, cache_id);
statement.BindString(2, entry_url.spec());
+
return statement.Run() && db_->GetLastChangeCount();
}
@@ -694,12 +658,11 @@ bool AppCacheDatabase::FindNamespacesForOrigin(
"SELECT cache_id, origin, type, namespace_url, target_url"
" FROM Namespaces WHERE origin = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindString(0, origin.spec());
+
ReadNamespaceRecords(&statement, intercepts, fallbacks);
+
return statement.Succeeded();
}
@@ -716,12 +679,11 @@ bool AppCacheDatabase::FindNamespacesForCache(
"SELECT cache_id, origin, type, namespace_url, target_url"
" FROM Namespaces WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
ReadNamespaceRecords(&statement, intercepts, fallbacks);
+
return statement.Succeeded();
}
@@ -735,15 +697,13 @@ bool AppCacheDatabase::InsertNamespace(
" (cache_id, origin, type, namespace_url, target_url)"
" VALUES (?, ?, ?, ?, ?)";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, record->cache_id);
statement.BindString(1, record->origin.spec());
statement.BindInt(2, record->type);
statement.BindString(3, record->namespace_url.spec());
statement.BindString(4, record->target_url.spec());
+
return statement.Run();
}
@@ -770,11 +730,9 @@ bool AppCacheDatabase::DeleteNamespacesForCache(int64 cache_id) {
const char* kSql =
"DELETE FROM Namespaces WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
return statement.Run();
}
@@ -788,11 +746,9 @@ bool AppCacheDatabase::FindOnlineWhiteListForCache(
"SELECT cache_id, namespace_url FROM OnlineWhiteLists"
" WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
while (statement.Step()) {
records->push_back(OnlineWhiteListRecord());
this->ReadOnlineWhiteListRecord(statement, &records->back());
@@ -809,12 +765,10 @@ bool AppCacheDatabase::InsertOnlineWhiteList(
const char* kSql =
"INSERT INTO OnlineWhiteLists (cache_id, namespace_url) VALUES (?, ?)";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, record->cache_id);
statement.BindString(1, record->namespace_url.spec());
+
return statement.Run();
}
@@ -841,11 +795,9 @@ bool AppCacheDatabase::DeleteOnlineWhiteListForCache(int64 cache_id) {
const char* kSql =
"DELETE FROM OnlineWhiteLists WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
-
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
+
return statement.Run();
}
@@ -858,12 +810,11 @@ bool AppCacheDatabase::GetDeletableResponseIds(
"SELECT response_id FROM DeletableResponseIds "
" WHERE rowid <= ?"
" LIMIT ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, max_rowid);
statement.BindInt64(1, limit);
+
while (statement.Step())
response_ids->push_back(statement.ColumnInt64(0));
return statement.Succeeded();
@@ -886,6 +837,7 @@ bool AppCacheDatabase::DeleteDeletableResponseIds(
bool AppCacheDatabase::RunCachedStatementWithIds(
const sql::StatementID& statement_id, const char* sql,
const std::vector<int64>& ids) {
+ DCHECK(sql);
if (!LazyOpen(true))
return false;
@@ -893,9 +845,7 @@ bool AppCacheDatabase::RunCachedStatementWithIds(
if (!transaction.Begin())
return false;
- sql::Statement statement;
- if (!PrepareCachedStatement(statement_id, sql, &statement))
- return false;
+ sql::Statement statement(db_->GetCachedStatement(statement_id, sql));
std::vector<int64>::const_iterator iter = ids.begin();
while (iter != ids.end()) {
@@ -911,37 +861,15 @@ bool AppCacheDatabase::RunCachedStatementWithIds(
bool AppCacheDatabase::RunUniqueStatementWithInt64Result(
const char* sql, int64* result) {
- sql::Statement statement;
- if (!PrepareUniqueStatement(sql, &statement) ||
- !statement.Step()) {
+ DCHECK(sql);
+ sql::Statement statement(db_->GetUniqueStatement(sql));
+ if (!statement.Step()) {
return false;
}
*result = statement.ColumnInt64(0);
return true;
}
-bool AppCacheDatabase::PrepareUniqueStatement(
- const char* sql, sql::Statement* statement) {
- DCHECK(sql && statement);
- statement->Assign(db_->GetUniqueStatement(sql));
- if (!statement->is_valid()) {
- NOTREACHED() << db_->GetErrorMessage();
- return false;
- }
- return true;
-}
-
-bool AppCacheDatabase::PrepareCachedStatement(
- const sql::StatementID& id, const char* sql, sql::Statement* statement) {
- DCHECK(sql && statement);
- statement->Assign(db_->GetCachedStatement(id, sql));
- if (!statement->is_valid()) {
- NOTREACHED() << db_->GetErrorMessage();
- return false;
- }
- return true;
-}
-
bool AppCacheDatabase::FindResponseIdsForCacheHelper(
int64 cache_id, std::vector<int64>* ids_vector,
std::set<int64>* ids_set) {
@@ -953,9 +881,7 @@ bool AppCacheDatabase::FindResponseIdsForCacheHelper(
const char* kSql =
"SELECT response_id FROM Entries WHERE cache_id = ?";
- sql::Statement statement;
- if (!PrepareCachedStatement(SQL_FROM_HERE, kSql, &statement))
- return false;
+ sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
statement.BindInt64(0, cache_id);
while (statement.Step()) {
« no previous file with comments | « webkit/appcache/appcache_database.h ('k') | webkit/database/database_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698