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

Side by Side Diff: sql/connection.cc

Issue 1927443002: Remove Android Work Chrome code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix missed line. Created 4 years, 7 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
« no previous file with comments | « sql/connection.h ('k') | no next file » | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "sql/connection.h" 5 #include "sql/connection.h"
6 6
7 #include <limits.h> 7 #include <limits.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 26 matching lines...) Expand all
37 #include "third_party/sqlite/src/ext/icu/sqliteicu.h" 37 #include "third_party/sqlite/src/ext/icu/sqliteicu.h"
38 #endif 38 #endif
39 39
40 namespace { 40 namespace {
41 41
42 // Spin for up to a second waiting for the lock to clear when setting 42 // Spin for up to a second waiting for the lock to clear when setting
43 // up the database. 43 // up the database.
44 // TODO(shess): Better story on this. http://crbug.com/56559 44 // TODO(shess): Better story on this. http://crbug.com/56559
45 const int kBusyTimeoutSeconds = 1; 45 const int kBusyTimeoutSeconds = 1;
46 46
47 bool g_mmap_disabled_default = false;
48
49 class ScopedBusyTimeout { 47 class ScopedBusyTimeout {
50 public: 48 public:
51 explicit ScopedBusyTimeout(sqlite3* db) 49 explicit ScopedBusyTimeout(sqlite3* db)
52 : db_(db) { 50 : db_(db) {
53 } 51 }
54 ~ScopedBusyTimeout() { 52 ~ScopedBusyTimeout() {
55 sqlite3_busy_timeout(db_, 0); 53 sqlite3_busy_timeout(db_, 0);
56 } 54 }
57 55
58 int SetTimeout(base::TimeDelta timeout) { 56 int SetTimeout(base::TimeDelta timeout) {
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 int basic_error = error & 0xff; 247 int basic_error = error & 0xff;
250 248
251 // These errors relate more to the runtime context of the system than to 249 // These errors relate more to the runtime context of the system than to
252 // errors with a SQL statement or with the schema, so they aren't generally 250 // errors with a SQL statement or with the schema, so they aren't generally
253 // interesting to flag. This list is not comprehensive. 251 // interesting to flag. This list is not comprehensive.
254 return basic_error == SQLITE_BUSY || 252 return basic_error == SQLITE_BUSY ||
255 basic_error == SQLITE_NOTADB || 253 basic_error == SQLITE_NOTADB ||
256 basic_error == SQLITE_CORRUPT; 254 basic_error == SQLITE_CORRUPT;
257 } 255 }
258 256
259 // static
260 void Connection::set_mmap_disabled_by_default() {
261 g_mmap_disabled_default = true;
262 }
263
264
265 void Connection::ReportDiagnosticInfo(int extended_error, Statement* stmt) { 257 void Connection::ReportDiagnosticInfo(int extended_error, Statement* stmt) {
266 AssertIOAllowed(); 258 AssertIOAllowed();
267 259
268 std::string debug_info; 260 std::string debug_info;
269 const int error = (extended_error & 0xFF); 261 const int error = (extended_error & 0xFF);
270 if (error == SQLITE_CORRUPT) { 262 if (error == SQLITE_CORRUPT) {
271 // CollectCorruptionInfo() is implemented in terms of sql::Connection, 263 // CollectCorruptionInfo() is implemented in terms of sql::Connection,
272 // prevent reentrant calls to the error callback. 264 // prevent reentrant calls to the error callback.
273 // TODO(shess): Rewrite IntegrityCheckHelper() in terms of raw SQLite. 265 // TODO(shess): Rewrite IntegrityCheckHelper() in terms of raw SQLite.
274 ErrorCallback original_callback = std::move(error_callback_); 266 ErrorCallback original_callback = std::move(error_callback_);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 Connection::Connection() 340 Connection::Connection()
349 : db_(NULL), 341 : db_(NULL),
350 page_size_(0), 342 page_size_(0),
351 cache_size_(0), 343 cache_size_(0),
352 exclusive_locking_(false), 344 exclusive_locking_(false),
353 restrict_to_user_(false), 345 restrict_to_user_(false),
354 transaction_nesting_(0), 346 transaction_nesting_(0),
355 needs_rollback_(false), 347 needs_rollback_(false),
356 in_memory_(false), 348 in_memory_(false),
357 poisoned_(false), 349 poisoned_(false),
358 mmap_disabled_(g_mmap_disabled_default), 350 mmap_disabled_(false),
359 mmap_enabled_(false), 351 mmap_enabled_(false),
360 total_changes_at_last_release_(0), 352 total_changes_at_last_release_(0),
361 stats_histogram_(NULL), 353 stats_histogram_(NULL),
362 commit_time_histogram_(NULL), 354 commit_time_histogram_(NULL),
363 autocommit_time_histogram_(NULL), 355 autocommit_time_histogram_(NULL),
364 update_time_histogram_(NULL), 356 update_time_histogram_(NULL),
365 query_time_histogram_(NULL), 357 query_time_histogram_(NULL),
366 clock_(new TimeSource()) { 358 clock_(new TimeSource()) {
367 } 359 }
368 360
(...skipping 1612 matching lines...) Expand 10 before | Expand all | Expand 10 after
1981 ignore_result(Execute(kNoWritableSchema)); 1973 ignore_result(Execute(kNoWritableSchema));
1982 1974
1983 return ret; 1975 return ret;
1984 } 1976 }
1985 1977
1986 base::TimeTicks TimeSource::Now() { 1978 base::TimeTicks TimeSource::Now() {
1987 return base::TimeTicks::Now(); 1979 return base::TimeTicks::Now();
1988 } 1980 }
1989 1981
1990 } // namespace sql 1982 } // namespace sql
OLDNEW
« no previous file with comments | « sql/connection.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698