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

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: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/database/database_tracker.cc ('k') | webkit/database/quota_table.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.BindString16(0, origin_identifier);
45 select_statement.BindString(0, UTF16ToUTF8(origin_identifier)) && 45 select_statement.BindString16(1, database_name);
46 select_statement.BindString(1, UTF16ToUTF8(database_name)) && 46
47 select_statement.Step()) { 47 if (select_statement.Step()) {
48 return select_statement.ColumnInt64(0); 48 return select_statement.ColumnInt64(0);
49 } 49 }
50 50
51 return -1; 51 return -1;
52 } 52 }
53 53
54 bool DatabasesTable::GetDatabaseDetails(const string16& origin_identifier, 54 bool DatabasesTable::GetDatabaseDetails(const string16& origin_identifier,
55 const string16& database_name, 55 const string16& database_name,
56 DatabaseDetails* details) { 56 DatabaseDetails* details) {
57 DCHECK(details); 57 DCHECK(details);
58 sql::Statement select_statement(db_->GetCachedStatement( 58 sql::Statement select_statement(db_->GetCachedStatement(
59 SQL_FROM_HERE, "SELECT description, estimated_size FROM Databases " 59 SQL_FROM_HERE, "SELECT description, estimated_size FROM Databases "
60 "WHERE origin = ? AND name = ?")); 60 "WHERE origin = ? AND name = ?"));
61 if (select_statement.is_valid() && 61 select_statement.BindString16(0, origin_identifier);
62 select_statement.BindString(0, UTF16ToUTF8(origin_identifier)) && 62 select_statement.BindString16(1, database_name);
63 select_statement.BindString(1, UTF16ToUTF8(database_name)) && 63
64 select_statement.Step()) { 64 if (select_statement.Step()) {
65 details->origin_identifier = origin_identifier; 65 details->origin_identifier = origin_identifier;
66 details->database_name = database_name; 66 details->database_name = database_name;
67 details->description = UTF8ToUTF16(select_statement.ColumnString(0)); 67 details->description = select_statement.ColumnString16(0);
68 details->estimated_size = select_statement.ColumnInt64(1); 68 details->estimated_size = select_statement.ColumnInt64(1);
69 return true; 69 return true;
70 } 70 }
71 71
72 return false; 72 return false;
73 } 73 }
74 74
75 bool DatabasesTable::InsertDatabaseDetails(const DatabaseDetails& details) { 75 bool DatabasesTable::InsertDatabaseDetails(const DatabaseDetails& details) {
76 sql::Statement insert_statement(db_->GetCachedStatement( 76 sql::Statement insert_statement(db_->GetCachedStatement(
77 SQL_FROM_HERE, "INSERT INTO Databases (origin, name, description, " 77 SQL_FROM_HERE, "INSERT INTO Databases (origin, name, description, "
78 "estimated_size) VALUES (?, ?, ?, ?)")); 78 "estimated_size) VALUES (?, ?, ?, ?)"));
79 if (insert_statement.is_valid() && 79 insert_statement.BindString16(0, details.origin_identifier);
80 insert_statement.BindString(0, UTF16ToUTF8(details.origin_identifier)) && 80 insert_statement.BindString16(1, details.database_name);
81 insert_statement.BindString(1, UTF16ToUTF8(details.database_name)) && 81 insert_statement.BindString16(2, details.description);
82 insert_statement.BindString(2, UTF16ToUTF8(details.description)) && 82 insert_statement.BindInt64(3, details.estimated_size);
83 insert_statement.BindInt64(3, details.estimated_size)) { 83 return insert_statement.Run();
84 return insert_statement.Run();
85 }
86
87 return false;
88 } 84 }
89 85
90 bool DatabasesTable::UpdateDatabaseDetails(const DatabaseDetails& details) { 86 bool DatabasesTable::UpdateDatabaseDetails(const DatabaseDetails& details) {
91 sql::Statement update_statement(db_->GetCachedStatement( 87 sql::Statement update_statement(db_->GetCachedStatement(
92 SQL_FROM_HERE, "UPDATE Databases SET description = ?, " 88 SQL_FROM_HERE, "UPDATE Databases SET description = ?, "
93 "estimated_size = ? WHERE origin = ? AND name = ?")); 89 "estimated_size = ? WHERE origin = ? AND name = ?"));
94 if (update_statement.is_valid() && 90 update_statement.BindString16(0, details.description);
95 update_statement.BindString(0, UTF16ToUTF8(details.description)) && 91 update_statement.BindInt64(1, details.estimated_size);
96 update_statement.BindInt64(1, details.estimated_size) && 92 update_statement.BindString16(2, details.origin_identifier);
97 update_statement.BindString(2, UTF16ToUTF8(details.origin_identifier)) && 93 update_statement.BindString16(3, details.database_name);
98 update_statement.BindString(3, UTF16ToUTF8(details.database_name))) { 94 return (update_statement.Run() && db_->GetLastChangeCount());
99 return (update_statement.Run() && db_->GetLastChangeCount());
100 }
101
102 return false;
103 } 95 }
104 96
105 bool DatabasesTable::DeleteDatabaseDetails(const string16& origin_identifier, 97 bool DatabasesTable::DeleteDatabaseDetails(const string16& origin_identifier,
106 const string16& database_name) { 98 const string16& database_name) {
107 sql::Statement delete_statement(db_->GetCachedStatement( 99 sql::Statement delete_statement(db_->GetCachedStatement(
108 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ? AND name = ?")); 100 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ? AND name = ?"));
109 if (delete_statement.is_valid() && 101 delete_statement.BindString16(0, origin_identifier);
110 delete_statement.BindString(0, UTF16ToUTF8(origin_identifier)) && 102 delete_statement.BindString16(1, database_name);
111 delete_statement.BindString(1, UTF16ToUTF8(database_name))) { 103 return (delete_statement.Run() && db_->GetLastChangeCount());
112 return (delete_statement.Run() && db_->GetLastChangeCount());
113 }
114
115 return false;
116 } 104 }
117 105
118 bool DatabasesTable::GetAllOrigins(std::vector<string16>* origins) { 106 bool DatabasesTable::GetAllOrigins(std::vector<string16>* origins) {
119 sql::Statement statement(db_->GetCachedStatement( 107 sql::Statement statement(db_->GetCachedStatement(
120 SQL_FROM_HERE, "SELECT DISTINCT origin FROM Databases ORDER BY origin")); 108 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 109
127 return false; 110 while (statement.Step())
111 origins->push_back(statement.ColumnString16(0));
112
113 return statement.Succeeded();
128 } 114 }
129 115
130 bool DatabasesTable::GetAllDatabaseDetailsForOrigin( 116 bool DatabasesTable::GetAllDatabaseDetailsForOrigin(
131 const string16& origin_identifier, 117 const string16& origin_identifier,
132 std::vector<DatabaseDetails>* details_vector) { 118 std::vector<DatabaseDetails>* details_vector) {
133 sql::Statement statement(db_->GetCachedStatement( 119 sql::Statement statement(db_->GetCachedStatement(
134 SQL_FROM_HERE, "SELECT name, description, estimated_size " 120 SQL_FROM_HERE, "SELECT name, description, estimated_size "
135 "FROM Databases WHERE origin = ? ORDER BY name")); 121 "FROM Databases WHERE origin = ? ORDER BY name"));
136 if (statement.is_valid() && 122 statement.BindString16(0, origin_identifier);
137 statement.BindString(0, UTF16ToUTF8(origin_identifier))) { 123
138 while (statement.Step()) { 124 while (statement.Step()) {
139 DatabaseDetails details; 125 DatabaseDetails details;
140 details.origin_identifier = origin_identifier; 126 details.origin_identifier = origin_identifier;
141 details.database_name = UTF8ToUTF16(statement.ColumnString(0)); 127 details.database_name = statement.ColumnString16(0);
142 details.description = UTF8ToUTF16(statement.ColumnString(1)); 128 details.description = statement.ColumnString16(1);
143 details.estimated_size = statement.ColumnInt64(2); 129 details.estimated_size = statement.ColumnInt64(2);
144 details_vector->push_back(details); 130 details_vector->push_back(details);
145 }
146 return statement.Succeeded();
147 } 131 }
148 132
149 return false; 133 return statement.Succeeded();
150 } 134 }
151 135
152 bool DatabasesTable::DeleteOrigin(const string16& origin_identifier) { 136 bool DatabasesTable::DeleteOrigin(const string16& origin_identifier) {
153 sql::Statement delete_statement(db_->GetCachedStatement( 137 sql::Statement delete_statement(db_->GetCachedStatement(
154 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ?")); 138 SQL_FROM_HERE, "DELETE FROM Databases WHERE origin = ?"));
155 if (delete_statement.is_valid() && 139 delete_statement.BindString16(0, origin_identifier);
156 delete_statement.BindString(0, UTF16ToUTF8(origin_identifier))) { 140 return (delete_statement.Run() && db_->GetLastChangeCount());
157 return (delete_statement.Run() && db_->GetLastChangeCount());
158 }
159
160 return false;
161 } 141 }
162 142
163 } // namespace webkit_database 143 } // namespace webkit_database
OLDNEW
« no previous file with comments | « webkit/database/database_tracker.cc ('k') | webkit/database/quota_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698