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

Side by Side Diff: webkit/database/databases_table.cc

Issue 9249025: Database usage adjustment for .../webkit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 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 "webkit/database/databases_table.h" 5 #include "webkit/database/databases_table.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "sql/statement.h" 9 #include "sql/statement.h"
10 10
(...skipping 23 matching lines...) Expand all
34 db_->Execute( 34 db_->Execute(
35 "CREATE INDEX origin_index ON Databases (origin)") && 35 "CREATE INDEX origin_index ON Databases (origin)") &&
36 db_->Execute( 36 db_->Execute(
37 "CREATE UNIQUE INDEX unique_index ON Databases (origin, name)")); 37 "CREATE UNIQUE INDEX unique_index ON Databases (origin, name)"));
38 } 38 }
39 39
40 int64 DatabasesTable::GetDatabaseID(const string16& origin_identifier, 40 int64 DatabasesTable::GetDatabaseID(const string16& origin_identifier,
41 const string16& database_name) { 41 const string16& database_name) {
42 sql::Statement select_statement(db_->GetCachedStatement( 42 sql::Statement select_statement(db_->GetCachedStatement(
43 SQL_FROM_HERE, "SELECT id FROM Databases WHERE origin = ? AND name = ?")); 43 SQL_FROM_HERE, "SELECT id FROM Databases WHERE origin = ? AND name = ?"));
44 if (select_statement.is_valid() && 44 select_statement.BindString(0, UTF16ToUTF8(origin_identifier));
45 select_statement.BindString(0, UTF16ToUTF8(origin_identifier)) && 45 select_statement.BindString(1, UTF16ToUTF8(database_name));
Scott Hess - ex-Googler 2012/01/18 21:24:03 Also convert: - BindString(0, UTF16ToUTF8(origin_
Greg Billock 2012/01/18 21:54:33 Done. Also UTF8ToUTF16(ColumnString()) -> ColumnSt
46 select_statement.BindString(1, UTF16ToUTF8(database_name)) && 46 if (select_statement.Step()) {
47 select_statement.Step()) {
48 return select_statement.ColumnInt64(0); 47 return select_statement.ColumnInt64(0);
49 } 48 }
50 49
51 return -1; 50 return -1;
52 } 51 }
53 52
54 bool DatabasesTable::GetDatabaseDetails(const string16& origin_identifier, 53 bool DatabasesTable::GetDatabaseDetails(const string16& origin_identifier,
55 const string16& database_name, 54 const string16& database_name,
56 DatabaseDetails* details) { 55 DatabaseDetails* details) {
57 DCHECK(details); 56 DCHECK(details);
58 sql::Statement select_statement(db_->GetCachedStatement( 57 sql::Statement select_statement(db_->GetCachedStatement(
59 SQL_FROM_HERE, "SELECT description, estimated_size FROM Databases " 58 SQL_FROM_HERE, "SELECT description, estimated_size FROM Databases "
60 "WHERE origin = ? AND name = ?")); 59 "WHERE origin = ? AND name = ?"));
61 if (select_statement.is_valid() && 60 select_statement.BindString(0, UTF16ToUTF8(origin_identifier));
62 select_statement.BindString(0, UTF16ToUTF8(origin_identifier)) && 61 select_statement.BindString(1, UTF16ToUTF8(database_name));
63 select_statement.BindString(1, UTF16ToUTF8(database_name)) && 62 if (select_statement.Step()) {
64 select_statement.Step()) {
65 details->origin_identifier = origin_identifier; 63 details->origin_identifier = origin_identifier;
66 details->database_name = database_name; 64 details->database_name = database_name;
67 details->description = UTF8ToUTF16(select_statement.ColumnString(0)); 65 details->description = UTF8ToUTF16(select_statement.ColumnString(0));
68 details->estimated_size = select_statement.ColumnInt64(1); 66 details->estimated_size = select_statement.ColumnInt64(1);
69 return true; 67 return true;
70 } 68 }
71 69
72 return false; 70 return false;
73 } 71 }
74 72
75 bool DatabasesTable::InsertDatabaseDetails(const DatabaseDetails& details) { 73 bool DatabasesTable::InsertDatabaseDetails(const DatabaseDetails& details) {
76 sql::Statement insert_statement(db_->GetCachedStatement( 74 sql::Statement insert_statement(db_->GetCachedStatement(
77 SQL_FROM_HERE, "INSERT INTO Databases (origin, name, description, " 75 SQL_FROM_HERE, "INSERT INTO Databases (origin, name, description, "
78 "estimated_size) VALUES (?, ?, ?, ?)")); 76 "estimated_size) VALUES (?, ?, ?, ?)"));
79 if (insert_statement.is_valid() && 77 insert_statement.BindString(0, UTF16ToUTF8(details.origin_identifier));
80 insert_statement.BindString(0, UTF16ToUTF8(details.origin_identifier)) && 78 insert_statement.BindString(1, UTF16ToUTF8(details.database_name));
81 insert_statement.BindString(1, UTF16ToUTF8(details.database_name)) && 79 insert_statement.BindString(2, UTF16ToUTF8(details.description));
82 insert_statement.BindString(2, UTF16ToUTF8(details.description)) && 80 insert_statement.BindInt64(3, details.estimated_size);
83 insert_statement.BindInt64(3, details.estimated_size)) { 81 return insert_statement.Run();
84 return insert_statement.Run();
85 }
86
87 return false;
88 } 82 }
89 83
90 bool DatabasesTable::UpdateDatabaseDetails(const DatabaseDetails& details) { 84 bool DatabasesTable::UpdateDatabaseDetails(const DatabaseDetails& details) {
91 sql::Statement update_statement(db_->GetCachedStatement( 85 sql::Statement update_statement(db_->GetCachedStatement(
92 SQL_FROM_HERE, "UPDATE Databases SET description = ?, " 86 SQL_FROM_HERE, "UPDATE Databases SET description = ?, "
93 "estimated_size = ? WHERE origin = ? AND name = ?")); 87 "estimated_size = ? WHERE origin = ? AND name = ?"));
94 if (update_statement.is_valid() && 88 update_statement.BindString(0, UTF16ToUTF8(details.description));
95 update_statement.BindString(0, UTF16ToUTF8(details.description)) && 89 update_statement.BindInt64(1, details.estimated_size);
96 update_statement.BindInt64(1, details.estimated_size) && 90 update_statement.BindString(2, UTF16ToUTF8(details.origin_identifier));
97 update_statement.BindString(2, UTF16ToUTF8(details.origin_identifier)) && 91 update_statement.BindString(3, UTF16ToUTF8(details.database_name));
98 update_statement.BindString(3, UTF16ToUTF8(details.database_name))) { 92 return (update_statement.Run() && db_->GetLastChangeCount());
99 return (update_statement.Run() && db_->GetLastChangeCount());
100 }
101
102 return false;
103 } 93 }
104 94
105 bool DatabasesTable::DeleteDatabaseDetails(const string16& origin_identifier, 95 bool DatabasesTable::DeleteDatabaseDetails(const string16& origin_identifier,
106 const string16& database_name) { 96 const string16& database_name) {
107 sql::Statement delete_statement(db_->GetCachedStatement( 97 sql::Statement delete_statement(db_->GetCachedStatement(
108 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ? AND name = ?")); 98 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ? AND name = ?"));
109 if (delete_statement.is_valid() && 99 delete_statement.BindString(0, UTF16ToUTF8(origin_identifier));
110 delete_statement.BindString(0, UTF16ToUTF8(origin_identifier)) && 100 delete_statement.BindString(1, UTF16ToUTF8(database_name));
111 delete_statement.BindString(1, UTF16ToUTF8(database_name))) { 101 return (delete_statement.Run() && db_->GetLastChangeCount());
112 return (delete_statement.Run() && db_->GetLastChangeCount());
113 }
114
115 return false;
116 } 102 }
117 103
118 bool DatabasesTable::GetAllOrigins(std::vector<string16>* origins) { 104 bool DatabasesTable::GetAllOrigins(std::vector<string16>* origins) {
119 sql::Statement statement(db_->GetCachedStatement( 105 sql::Statement statement(db_->GetCachedStatement(
120 SQL_FROM_HERE, "SELECT DISTINCT origin FROM Databases ORDER BY origin")); 106 SQL_FROM_HERE, "SELECT DISTINCT origin FROM Databases ORDER BY origin"));
121 if (statement.is_valid()) {
122 while (statement.Step())
123 origins->push_back(UTF8ToUTF16(statement.ColumnString(0)));
124 return statement.Succeeded();
125 }
126 107
127 return false; 108 while (statement.Step())
109 origins->push_back(UTF8ToUTF16(statement.ColumnString(0)));
Scott Hess - ex-Googler 2012/01/18 21:24:03 ColumnString16(0), here. And in the following cod
Greg Billock 2012/01/18 21:54:33 Done.
110
111 return statement.Succeeded();
128 } 112 }
129 113
130 bool DatabasesTable::GetAllDatabaseDetailsForOrigin( 114 bool DatabasesTable::GetAllDatabaseDetailsForOrigin(
131 const string16& origin_identifier, 115 const string16& origin_identifier,
132 std::vector<DatabaseDetails>* details_vector) { 116 std::vector<DatabaseDetails>* details_vector) {
133 sql::Statement statement(db_->GetCachedStatement( 117 sql::Statement statement(db_->GetCachedStatement(
134 SQL_FROM_HERE, "SELECT name, description, estimated_size " 118 SQL_FROM_HERE, "SELECT name, description, estimated_size "
135 "FROM Databases WHERE origin = ? ORDER BY name")); 119 "FROM Databases WHERE origin = ? ORDER BY name"));
136 if (statement.is_valid() && 120 statement.BindString(0, UTF16ToUTF8(origin_identifier));
137 statement.BindString(0, UTF16ToUTF8(origin_identifier))) { 121
138 while (statement.Step()) { 122 while (statement.Step()) {
139 DatabaseDetails details; 123 DatabaseDetails details;
140 details.origin_identifier = origin_identifier; 124 details.origin_identifier = origin_identifier;
141 details.database_name = UTF8ToUTF16(statement.ColumnString(0)); 125 details.database_name = UTF8ToUTF16(statement.ColumnString(0));
142 details.description = UTF8ToUTF16(statement.ColumnString(1)); 126 details.description = UTF8ToUTF16(statement.ColumnString(1));
143 details.estimated_size = statement.ColumnInt64(2); 127 details.estimated_size = statement.ColumnInt64(2);
144 details_vector->push_back(details); 128 details_vector->push_back(details);
145 }
146 return statement.Succeeded();
147 } 129 }
148 130
149 return false; 131 return statement.Succeeded();
150 } 132 }
151 133
152 bool DatabasesTable::DeleteOrigin(const string16& origin_identifier) { 134 bool DatabasesTable::DeleteOrigin(const string16& origin_identifier) {
153 sql::Statement delete_statement(db_->GetCachedStatement( 135 sql::Statement delete_statement(db_->GetCachedStatement(
154 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ?")); 136 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ?"));
155 if (delete_statement.is_valid() && 137 delete_statement.BindString(0, UTF16ToUTF8(origin_identifier));
156 delete_statement.BindString(0, UTF16ToUTF8(origin_identifier))) { 138 return (delete_statement.Run() && db_->GetLastChangeCount());
157 return (delete_statement.Run() && db_->GetLastChangeCount());
158 }
159
160 return false;
161 } 139 }
162 140
163 } // namespace webkit_database 141 } // namespace webkit_database
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698