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

Side by Side Diff: third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteDatabase.cpp

Issue 2395473002: reflow comments in modules/webdatabase (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Justin Haygood (jhaygood@reaktix.com) 3 * Copyright (C) 2007 Justin Haygood (jhaygood@reaktix.com)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 } 82 }
83 83
84 if (isOpen()) 84 if (isOpen())
85 m_openingThread = currentThread(); 85 m_openingThread = currentThread();
86 else 86 else
87 m_openErrorMessage = "sqlite_open returned null"; 87 m_openErrorMessage = "sqlite_open returned null";
88 88
89 if (!SQLiteStatement(*this, "PRAGMA temp_store = MEMORY;").executeCommand()) 89 if (!SQLiteStatement(*this, "PRAGMA temp_store = MEMORY;").executeCommand())
90 DLOG(ERROR) << "SQLite database could not set temp_store to memory"; 90 DLOG(ERROR) << "SQLite database could not set temp_store to memory";
91 91
92 // Foreign keys are not supported by WebDatabase. Make sure foreign key suppo rt is consistent 92 // Foreign keys are not supported by WebDatabase. Make sure foreign key
93 // if SQLite has SQLITE_DEFAULT_FOREIGN_KEYS. 93 // support is consistent if SQLite has SQLITE_DEFAULT_FOREIGN_KEYS.
94 if (!SQLiteStatement(*this, "PRAGMA foreign_keys = OFF;").executeCommand()) 94 if (!SQLiteStatement(*this, "PRAGMA foreign_keys = OFF;").executeCommand())
95 DLOG(ERROR) << "SQLite database could not turn off foreign_keys"; 95 DLOG(ERROR) << "SQLite database could not turn off foreign_keys";
96 96
97 return isOpen(); 97 return isOpen();
98 } 98 }
99 99
100 void SQLiteDatabase::close() { 100 void SQLiteDatabase::close() {
101 if (m_db) { 101 if (m_db) {
102 // FIXME: This is being called on the main thread during JS GC. <rdar://prob lem/5739818> 102 // FIXME: This is being called on the main thread during JS GC.
103 // <rdar://problem/5739818>
103 // ASSERT(currentThread() == m_openingThread); 104 // ASSERT(currentThread() == m_openingThread);
104 sqlite3* db = m_db; 105 sqlite3* db = m_db;
105 { 106 {
106 MutexLocker locker(m_databaseClosingMutex); 107 MutexLocker locker(m_databaseClosingMutex);
107 m_db = 0; 108 m_db = 0;
108 } 109 }
109 sqlite3_close(db); 110 sqlite3_close(db);
110 } 111 }
111 112
112 m_openingThread = 0; 113 m_openingThread = 0;
(...skipping 17 matching lines...) Expand all
130 *this, "PRAGMA max_page_count = " + String::number(newMaxPageCount)); 131 *this, "PRAGMA max_page_count = " + String::number(newMaxPageCount));
131 statement.prepare(); 132 statement.prepare();
132 if (statement.step() != SQLResultRow) 133 if (statement.step() != SQLResultRow)
133 DLOG(ERROR) << "Failed to set maximum size of database to " << size 134 DLOG(ERROR) << "Failed to set maximum size of database to " << size
134 << " bytes"; 135 << " bytes";
135 136
136 enableAuthorizer(true); 137 enableAuthorizer(true);
137 } 138 }
138 139
139 int SQLiteDatabase::pageSize() { 140 int SQLiteDatabase::pageSize() {
140 // Since the page size of a database is locked in at creation and therefore ca nnot be dynamic, 141 // Since the page size of a database is locked in at creation and therefore
141 // we can cache the value for future use 142 // cannot be dynamic, we can cache the value for future use.
142 if (m_pageSize == -1) { 143 if (m_pageSize == -1) {
143 MutexLocker locker(m_authorizerLock); 144 MutexLocker locker(m_authorizerLock);
144 enableAuthorizer(false); 145 enableAuthorizer(false);
145 146
146 SQLiteStatement statement(*this, "PRAGMA page_size"); 147 SQLiteStatement statement(*this, "PRAGMA page_size");
147 m_pageSize = statement.getColumnInt(0); 148 m_pageSize = statement.getColumnInt(0);
148 149
149 enableAuthorizer(true); 150 enableAuthorizer(true);
150 } 151 }
151 152
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 } 360 }
360 361
361 bool SQLiteDatabase::turnOnIncrementalAutoVacuum() { 362 bool SQLiteDatabase::turnOnIncrementalAutoVacuum() {
362 SQLiteStatement statement(*this, "PRAGMA auto_vacuum"); 363 SQLiteStatement statement(*this, "PRAGMA auto_vacuum");
363 int autoVacuumMode = statement.getColumnInt(0); 364 int autoVacuumMode = statement.getColumnInt(0);
364 int error = lastError(); 365 int error = lastError();
365 366
366 // Finalize statement to not block potential VACUUM. 367 // Finalize statement to not block potential VACUUM.
367 statement.finalize(); 368 statement.finalize();
368 369
369 // Check if we got an error while trying to get the value of the auto_vacuum f lag. 370 // Check if we got an error while trying to get the value of the auto_vacuum
370 // If we got a SQLITE_BUSY error, then there's probably another transaction in 371 // flag. If we got a SQLITE_BUSY error, then there's probably another
371 // progress on this database. In this case, keep the current value of the 372 // transaction in progress on this database. In this case, keep the current
372 // auto_vacuum flag and try to set it to INCREMENTAL the next time we open thi s 373 // value of the auto_vacuum flag and try to set it to INCREMENTAL the next
373 // database. If the error is not SQLITE_BUSY, then we probably ran into a more 374 // time we open this database. If the error is not SQLITE_BUSY, then we
374 // serious problem and should return false (to log an error message). 375 // probably ran into a more serious problem and should return false (to log an
376 // error message).
375 if (error != SQLITE_ROW) 377 if (error != SQLITE_ROW)
376 return false; 378 return false;
377 379
378 switch (autoVacuumMode) { 380 switch (autoVacuumMode) {
379 case AutoVacuumIncremental: 381 case AutoVacuumIncremental:
380 return true; 382 return true;
381 case AutoVacuumFull: 383 case AutoVacuumFull:
382 return executeCommand("PRAGMA auto_vacuum = 2"); 384 return executeCommand("PRAGMA auto_vacuum = 2");
383 case AutoVacuumNone: 385 case AutoVacuumNone:
384 default: 386 default:
385 if (!executeCommand("PRAGMA auto_vacuum = 2")) 387 if (!executeCommand("PRAGMA auto_vacuum = 2"))
386 return false; 388 return false;
387 runVacuumCommand(); 389 runVacuumCommand();
388 error = lastError(); 390 error = lastError();
389 return (error == SQLITE_OK); 391 return (error == SQLITE_OK);
390 } 392 }
391 } 393 }
392 394
393 } // namespace blink 395 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698