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

Side by Side Diff: chrome/browser/autocomplete/network_action_predictor_database.cc

Issue 9365030: More SQL statement usage regularization. Back-touch some (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comments 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/autocomplete/network_action_predictor_database.h" 5 #include "chrome/browser/autocomplete/network_action_predictor_database.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 void LogDatabaseStats(const FilePath& db_path, sql::Connection* db) { 50 void LogDatabaseStats(const FilePath& db_path, sql::Connection* db) {
51 int64 db_size; 51 int64 db_size;
52 bool success = file_util::GetFileSize(db_path, &db_size); 52 bool success = file_util::GetFileSize(db_path, &db_size);
53 DCHECK(success) << "Failed to get file size for " << db_path.value(); 53 DCHECK(success) << "Failed to get file size for " << db_path.value();
54 UMA_HISTOGRAM_MEMORY_KB("NetworkActionPredictor.DatabaseSizeKB", 54 UMA_HISTOGRAM_MEMORY_KB("NetworkActionPredictor.DatabaseSizeKB",
55 static_cast<int>(db_size / 1024)); 55 static_cast<int>(db_size / 1024));
56 56
57 sql::Statement count_statement(db->GetUniqueStatement( 57 sql::Statement count_statement(db->GetUniqueStatement(
58 base::StringPrintf("SELECT count(id) FROM %s", 58 base::StringPrintf("SELECT count(id) FROM %s",
59 kNetworkActionPredictorTableName).c_str())); 59 kNetworkActionPredictorTableName).c_str()));
60 if (!count_statement || !count_statement.Step()) 60 if (!count_statement.Step())
61 return; 61 return;
62 UMA_HISTOGRAM_COUNTS("NetworkActionPredictor.DatabaseRowCount", 62 UMA_HISTOGRAM_COUNTS("NetworkActionPredictor.DatabaseRowCount",
63 count_statement.ColumnInt(0)); 63 count_statement.ColumnInt(0));
64 } 64 }
65 65
66 } 66 }
67 67
68 NetworkActionPredictorDatabase::Row::Row() 68 NetworkActionPredictorDatabase::Row::Row()
69 : number_of_hits(0), 69 : number_of_hits(0),
70 number_of_misses(0) { 70 number_of_misses(0) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 void NetworkActionPredictorDatabase::GetRow(const Row::Id& id, Row* row) { 110 void NetworkActionPredictorDatabase::GetRow(const Row::Id& id, Row* row) {
111 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 111 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
112 112
113 if (canceled_.IsSet()) 113 if (canceled_.IsSet())
114 return; 114 return;
115 115
116 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, 116 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE,
117 base::StringPrintf( 117 base::StringPrintf(
118 "SELECT * FROM %s WHERE id=?", 118 "SELECT * FROM %s WHERE id=?",
119 kNetworkActionPredictorTableName).c_str())); 119 kNetworkActionPredictorTableName).c_str()));
120 DCHECK(statement);
121
122 statement.BindString(0, id); 120 statement.BindString(0, id);
123 121
124 bool success = StepAndInitializeRow(&statement, row); 122 bool success = StepAndInitializeRow(&statement, row);
125 DCHECK(success) << "Failed to get row " << id << " from " 123 DCHECK(success) << "Failed to get row " << id << " from "
126 << kNetworkActionPredictorTableName; 124 << kNetworkActionPredictorTableName;
127 } 125 }
128 126
129 void NetworkActionPredictorDatabase::GetAllRows( 127 void NetworkActionPredictorDatabase::GetAllRows(
130 std::vector<NetworkActionPredictorDatabase::Row>* row_buffer) { 128 std::vector<NetworkActionPredictorDatabase::Row>* row_buffer) {
131 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 129 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
132 CHECK(row_buffer); 130 CHECK(row_buffer);
133 row_buffer->clear(); 131 row_buffer->clear();
134 132
135 if (canceled_.IsSet()) 133 if (canceled_.IsSet())
136 return; 134 return;
137 135
138 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, 136 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE,
139 base::StringPrintf( 137 base::StringPrintf(
140 "SELECT * FROM %s", kNetworkActionPredictorTableName).c_str())); 138 "SELECT * FROM %s", kNetworkActionPredictorTableName).c_str()));
141 DCHECK(statement);
142 139
143 Row row; 140 Row row;
144 while (StepAndInitializeRow(&statement, &row)) 141 while (StepAndInitializeRow(&statement, &row))
145 row_buffer->push_back(row); 142 row_buffer->push_back(row);
146 } 143 }
147 144
148 void NetworkActionPredictorDatabase::AddRow( 145 void NetworkActionPredictorDatabase::AddRow(
149 const NetworkActionPredictorDatabase::Row& row) { 146 const NetworkActionPredictorDatabase::Row& row) {
150 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 147 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
151 148
152 if (canceled_.IsSet()) 149 if (canceled_.IsSet())
153 return; 150 return;
154 151
155 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, 152 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE,
156 base::StringPrintf( 153 base::StringPrintf(
157 "INSERT INTO %s " 154 "INSERT INTO %s "
158 "(id, user_text, url, number_of_hits, number_of_misses) " 155 "(id, user_text, url, number_of_hits, number_of_misses) "
159 "VALUES (?,?,?,?,?)", kNetworkActionPredictorTableName).c_str())); 156 "VALUES (?,?,?,?,?)", kNetworkActionPredictorTableName).c_str()));
160 DCHECK(statement);
161
162 BindRowToStatement(row, &statement); 157 BindRowToStatement(row, &statement);
163 158
164 bool success = statement.Run(); 159 bool success = statement.Run();
165 DCHECK(success) << "Failed to insert row " << row.id << " into " 160 DCHECK(success) << "Failed to insert row " << row.id << " into "
166 << kNetworkActionPredictorTableName; 161 << kNetworkActionPredictorTableName;
167 } 162 }
168 163
169 void NetworkActionPredictorDatabase::UpdateRow( 164 void NetworkActionPredictorDatabase::UpdateRow(
170 const NetworkActionPredictorDatabase::Row& row) { 165 const NetworkActionPredictorDatabase::Row& row) {
171 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 166 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
172 167
173 if (canceled_.IsSet()) 168 if (canceled_.IsSet())
174 return; 169 return;
175 170
176 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, 171 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE,
177 base::StringPrintf( 172 base::StringPrintf(
178 "UPDATE %s " 173 "UPDATE %s "
179 "SET id=?, user_text=?, url=?, number_of_hits=?, number_of_misses=? " 174 "SET id=?, user_text=?, url=?, number_of_hits=?, number_of_misses=? "
180 "WHERE id=?1", kNetworkActionPredictorTableName).c_str())); 175 "WHERE id=?1", kNetworkActionPredictorTableName).c_str()));
181 DCHECK(statement);
182
183 BindRowToStatement(row, &statement); 176 BindRowToStatement(row, &statement);
184 177
185 statement.Run(); 178 statement.Run();
186 DCHECK_GT(db_.GetLastChangeCount(), 0); 179 DCHECK_GT(db_.GetLastChangeCount(), 0);
187 } 180 }
188 181
189 void NetworkActionPredictorDatabase::DeleteRow(const Row::Id& id) { 182 void NetworkActionPredictorDatabase::DeleteRow(const Row::Id& id) {
190 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 183 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
191 184
192 if (canceled_.IsSet()) 185 if (canceled_.IsSet())
193 return; 186 return;
194 187
195 DeleteRows(std::vector<Row::Id>(1, id)); 188 DeleteRows(std::vector<Row::Id>(1, id));
196 } 189 }
197 190
198 void NetworkActionPredictorDatabase::DeleteRows( 191 void NetworkActionPredictorDatabase::DeleteRows(
199 const std::vector<Row::Id>& id_list) { 192 const std::vector<Row::Id>& id_list) {
200 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 193 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
201 194
202 if (canceled_.IsSet()) 195 if (canceled_.IsSet())
203 return; 196 return;
204 197
205 sql::Statement statement(db_.GetUniqueStatement(base::StringPrintf( 198 sql::Statement statement(db_.GetUniqueStatement(base::StringPrintf(
206 "DELETE FROM %s WHERE id=?", 199 "DELETE FROM %s WHERE id=?",
207 kNetworkActionPredictorTableName).c_str())); 200 kNetworkActionPredictorTableName).c_str()));
208 DCHECK(statement);
209 201
210 db_.BeginTransaction(); 202 db_.BeginTransaction();
211 for (std::vector<Row::Id>::const_iterator it = id_list.begin(); 203 for (std::vector<Row::Id>::const_iterator it = id_list.begin();
212 it != id_list.end(); ++it) { 204 it != id_list.end(); ++it) {
213 statement.BindString(0, *it); 205 statement.BindString(0, *it);
214 statement.Run(); 206 statement.Run();
215 statement.Reset(); 207 statement.Reset();
216 } 208 }
217 db_.CommitTransaction(); 209 db_.CommitTransaction();
218 } 210 }
219 211
220 void NetworkActionPredictorDatabase::DeleteAllRows() { 212 void NetworkActionPredictorDatabase::DeleteAllRows() {
221 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 213 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
222 214
223 if (canceled_.IsSet()) 215 if (canceled_.IsSet())
224 return; 216 return;
225 217
226 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, 218 sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE,
227 base::StringPrintf("DELETE FROM %s", 219 base::StringPrintf("DELETE FROM %s",
228 kNetworkActionPredictorTableName).c_str())); 220 kNetworkActionPredictorTableName).c_str()));
229 DCHECK(statement);
230 221
231 statement.Run(); 222 statement.Run();
232 } 223 }
233 224
234 void NetworkActionPredictorDatabase::BeginTransaction() { 225 void NetworkActionPredictorDatabase::BeginTransaction() {
235 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); 226 CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB));
236 227
237 if (canceled_.IsSet()) 228 if (canceled_.IsSet())
238 return; 229 return;
239 230
(...skipping 17 matching lines...) Expand all
257 bool success = db_.Execute(base::StringPrintf( 248 bool success = db_.Execute(base::StringPrintf(
258 "CREATE TABLE %s ( " 249 "CREATE TABLE %s ( "
259 "id TEXT PRIMARY KEY, " 250 "id TEXT PRIMARY KEY, "
260 "user_text TEXT, " 251 "user_text TEXT, "
261 "url TEXT, " 252 "url TEXT, "
262 "number_of_hits INTEGER, " 253 "number_of_hits INTEGER, "
263 "number_of_misses INTEGER)", kNetworkActionPredictorTableName).c_str()); 254 "number_of_misses INTEGER)", kNetworkActionPredictorTableName).c_str());
264 DCHECK(success) << "Failed to create " << kNetworkActionPredictorTableName 255 DCHECK(success) << "Failed to create " << kNetworkActionPredictorTableName
265 << " table."; 256 << " table.";
266 } 257 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/diagnostics/sqlite_diagnostics.cc » ('j') | chrome/browser/net/sqlite_origin_bound_cert_store.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698