summaryrefslogtreecommitdiffstats
path: root/sql/recovery.cc
Commit message (Collapse)AuthorAgeFilesLines
* Disable recovery test for USE_SYSTEM_SQLITE.shess@chromium.org2013-10-071-0/+10
| | | | | | | | | | | | | Detact and short-circuit rather than using an #ifdef because the test eventually needs to be adapted to actually test this case. I'm just not confident enough about possible edge cases to start deleting data. BUG=299677 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/24989006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227360 0039d316-1c4b-4281-b951-d872f2087c98
* Recover corrupt Favicon databases.shess@chromium.org2013-09-251-0/+19
| | | | | | | | | | | | | | | | | | | | Add sql::Recovery support to ThumbnailDatabase. Rearrange the schema setup to allow sharing with the recovery code. Unit test a few corruption cases. Add sql::Recovery::Rollback() to allow transitioning code to monitor failures for diagnostic purposes. It is possible/likely that that function can be removed if failure cases are infrequent enough (in which case it with Unrecoverable()). Expose sql::Connection::ShouldIgnore() to allow the error callback to support sql::ScopedErrorIgnorer for testing. BUG=240396 Review URL: https://chromiumcodereview.appspot.com/23533038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225144 0039d316-1c4b-4281-b951-d872f2087c98
* [sql] Use recover virtual table in sql::Recovery.shess@chromium.org2013-08-061-0/+18
| | | | | | | | | | | | Load the recover virtual table as part of sql::Recovery::Begin(), and implement basic unit tests that it correctly recovers valid and corrupt tables. BUG=109482 Review URL: https://chromiumcodereview.appspot.com/20022006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215764 0039d316-1c4b-4281-b951-d872f2087c98
* [sql] Scoped recovery framework.shess@chromium.org2013-07-191-0/+189
sql::Recovery is intended to be used within a sql::Connection error callback to either recover the database (*) or indicate that the database is unrecoverable and should be razed. The intend is that the code should either progress to a valid database which is composed of data recovered from the original (likely corrupt) database, or a valid database which is empty. This is just the framework without the SQLite-level data-recovery virtual table. BUG=109482 Review URL: https://chromiumcodereview.appspot.com/19281002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212607 0039d316-1c4b-4281-b951-d872f2087c98