OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2013 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2013 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 | 117 |
118 SQLErrorData* SQLStatementBackend::SqlError() const { | 118 SQLErrorData* SQLStatementBackend::SqlError() const { |
119 return error_.get(); | 119 return error_.get(); |
120 } | 120 } |
121 | 121 |
122 SQLResultSet* SQLStatementBackend::SqlResultSet() const { | 122 SQLResultSet* SQLStatementBackend::SqlResultSet() const { |
123 return result_set_->IsValid() ? result_set_.Get() : 0; | 123 return result_set_->IsValid() ? result_set_.Get() : 0; |
124 } | 124 } |
125 | 125 |
126 bool SQLStatementBackend::Execute(Database* db) { | 126 bool SQLStatementBackend::Execute(Database* db) { |
127 ASSERT(!result_set_->IsValid()); | 127 DCHECK(!result_set_->IsValid()); |
128 | 128 |
129 // If we're re-running this statement after a quota violation, we need to | 129 // If we're re-running this statement after a quota violation, we need to |
130 // clear that error now | 130 // clear that error now |
131 ClearFailureDueToQuota(); | 131 ClearFailureDueToQuota(); |
132 | 132 |
133 // This transaction might have been marked bad while it was being set up on | 133 // This transaction might have been marked bad while it was being set up on |
134 // the main thread, so if there is still an error, return false. | 134 // the main thread, so if there is still an error, return false. |
135 if (error_) | 135 if (error_) |
136 return false; | 136 return false; |
137 | 137 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 // different way, we'd use sqlite3_total_changes() here instead of | 240 // different way, we'd use sqlite3_total_changes() here instead of |
241 // sqlite3_changed, because that includes rows modified from within a trigger. | 241 // sqlite3_changed, because that includes rows modified from within a trigger. |
242 // For now, this seems sufficient. | 242 // For now, this seems sufficient. |
243 result_set_->SetRowsAffected(database->LastChanges()); | 243 result_set_->SetRowsAffected(database->LastChanges()); |
244 | 244 |
245 db->ReportExecuteStatementResult(0, -1, 0); // OK | 245 db->ReportExecuteStatementResult(0, -1, 0); // OK |
246 return true; | 246 return true; |
247 } | 247 } |
248 | 248 |
249 void SQLStatementBackend::SetVersionMismatchedError(Database* database) { | 249 void SQLStatementBackend::SetVersionMismatchedError(Database* database) { |
250 ASSERT(!error_ && !result_set_->IsValid()); | 250 DCHECK(!error_); |
| 251 DCHECK(!result_set_->IsValid()); |
251 database->ReportExecuteStatementResult(7, SQLError::kVersionErr, 0); | 252 database->ReportExecuteStatementResult(7, SQLError::kVersionErr, 0); |
252 error_ = SQLErrorData::Create( | 253 error_ = SQLErrorData::Create( |
253 SQLError::kVersionErr, | 254 SQLError::kVersionErr, |
254 "current version of the database and `oldVersion` argument do not match"); | 255 "current version of the database and `oldVersion` argument do not match"); |
255 } | 256 } |
256 | 257 |
257 void SQLStatementBackend::SetFailureDueToQuota(Database* database) { | 258 void SQLStatementBackend::SetFailureDueToQuota(Database* database) { |
258 ASSERT(!error_ && !result_set_->IsValid()); | 259 DCHECK(!error_); |
| 260 DCHECK(!result_set_->IsValid()); |
259 database->ReportExecuteStatementResult(8, SQLError::kQuotaErr, 0); | 261 database->ReportExecuteStatementResult(8, SQLError::kQuotaErr, 0); |
260 error_ = SQLErrorData::Create(SQLError::kQuotaErr, | 262 error_ = SQLErrorData::Create(SQLError::kQuotaErr, |
261 "there was not enough remaining storage " | 263 "there was not enough remaining storage " |
262 "space, or the storage quota was reached and " | 264 "space, or the storage quota was reached and " |
263 "the user declined to allow more space"); | 265 "the user declined to allow more space"); |
264 } | 266 } |
265 | 267 |
266 void SQLStatementBackend::ClearFailureDueToQuota() { | 268 void SQLStatementBackend::ClearFailureDueToQuota() { |
267 if (LastExecutionFailedDueToQuota()) | 269 if (LastExecutionFailedDueToQuota()) |
268 error_ = nullptr; | 270 error_ = nullptr; |
269 } | 271 } |
270 | 272 |
271 bool SQLStatementBackend::LastExecutionFailedDueToQuota() const { | 273 bool SQLStatementBackend::LastExecutionFailedDueToQuota() const { |
272 return error_ && error_->Code() == SQLError::kQuotaErr; | 274 return error_ && error_->Code() == SQLError::kQuotaErr; |
273 } | 275 } |
274 | 276 |
275 } // namespace blink | 277 } // namespace blink |
OLD | NEW |