Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/precache/core/precache_url_table.h" | 5 #include "components/precache/core/precache_url_table.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "sql/connection.h" | 10 #include "sql/connection.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 101 while (statement.Step()) { | 101 while (statement.Step()) { |
| 102 GURL url(statement.ColumnString(0)); | 102 GURL url(statement.ColumnString(0)); |
| 103 if (statement.ColumnInt(1)) | 103 if (statement.ColumnInt(1)) |
| 104 used_urls->push_back(url); | 104 used_urls->push_back(url); |
| 105 else | 105 else |
| 106 unused_urls->push_back(url); | 106 unused_urls->push_back(url); |
| 107 } | 107 } |
| 108 } | 108 } |
| 109 | 109 |
| 110 void PrecacheURLTable::ClearAllForReferrerHost(int64_t referrer_host_id) { | 110 void PrecacheURLTable::ClearAllForReferrerHost(int64_t referrer_host_id) { |
| 111 Statement statement(db_->GetCachedStatement( | 111 // Delete the URLs that are not precached. |
| 112 Statement delete_statement( | |
|
sclittle
2016/09/02 18:47:56
Should a test be added for this new functionality?
Raj
2016/09/15 17:02:25
Done.
| |
| 113 db_->GetCachedStatement(SQL_FROM_HERE, | |
| 114 "DELETE FROM precache_urls WHERE " | |
| 115 "referrer_host_id=? AND is_precached=0")); | |
| 116 delete_statement.BindInt64(0, referrer_host_id); | |
| 117 delete_statement.Run(); | |
| 118 | |
| 119 // Clear was_used for precached URLs. | |
| 120 Statement update_statement(db_->GetCachedStatement( | |
| 112 SQL_FROM_HERE, | 121 SQL_FROM_HERE, |
| 113 "UPDATE precache_urls SET was_used=0 WHERE referrer_host_id=?")); | 122 "UPDATE precache_urls SET was_used=0 WHERE referrer_host_id=?")); |
| 114 | 123 update_statement.BindInt64(0, referrer_host_id); |
| 115 statement.BindInt64(0, referrer_host_id); | 124 update_statement.Run(); |
| 116 statement.Run(); | |
| 117 } | 125 } |
| 118 | 126 |
| 119 void PrecacheURLTable::DeleteAllPrecachedBefore(const base::Time& delete_end) { | 127 void PrecacheURLTable::DeleteAllPrecachedBefore(const base::Time& delete_end) { |
| 120 Statement statement(db_->GetCachedStatement( | 128 Statement statement(db_->GetCachedStatement( |
| 121 SQL_FROM_HERE, "DELETE FROM precache_urls WHERE time < ?")); | 129 SQL_FROM_HERE, "DELETE FROM precache_urls WHERE time < ?")); |
| 122 | 130 |
| 123 statement.BindInt64(0, delete_end.ToInternalValue()); | 131 statement.BindInt64(0, delete_end.ToInternalValue()); |
| 124 statement.Run(); | 132 statement.Run(); |
| 125 } | 133 } |
| 126 | 134 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 162 return false; | 170 return false; |
| 163 if (!db_->DoesColumnExist("precache_urls", "referrer_host_id") && | 171 if (!db_->DoesColumnExist("precache_urls", "referrer_host_id") && |
| 164 !db_->Execute( | 172 !db_->Execute( |
| 165 "ALTER TABLE precache_urls ADD COLUMN referrer_host_id INTEGER")) | 173 "ALTER TABLE precache_urls ADD COLUMN referrer_host_id INTEGER")) |
| 166 return false; | 174 return false; |
| 167 } | 175 } |
| 168 return true; | 176 return true; |
| 169 } | 177 } |
| 170 | 178 |
| 171 } // namespace precache | 179 } // namespace precache |
| OLD | NEW |