Home | History | Annotate | Download | only in sql

Lines Matching refs:Recovery

18 // Recovery module for sql/.  The basic idea is to create a fresh
20 // original database. If recovery is successful, the recovered
21 // database is backed up over the original database. If recovery is
27 // scoped_ptr<sql::Recovery> r =
28 // sql::Recovery::Begin(orig_db, orig_db_path);
33 // sql::Recovery::Unrecoverable(r.Pass());
40 // sql::Recovery::Unrecoverable(r.Pass());
46 // sql::Recovery::Unrecoverable(r.Pass());
51 // sql::Recovery::Recovered(r.Pass());
58 class SQL_EXPORT Recovery {
60 ~Recovery();
71 // Begin the recovery process by opening a temporary database handle
82 static scoped_ptr<Recovery> Begin(
86 // Mark recovery completed by replicating the recovery database over
87 // the original database, then closing the recovery database. The
97 static bool Recovered(scoped_ptr<Recovery> r) WARN_UNUSED_RESULT;
101 static void Unrecoverable(scoped_ptr<Recovery> r);
103 // When initially developing recovery code, sometimes the possible
105 // diagnostics. Abandon recovery but do not raze the original
107 // NOTE(shess): Only call this when adding recovery support. In the
109 static void Rollback(scoped_ptr<Recovery> r);
111 // Handle to the temporary recovery database.
115 // the recovery database using a temporary recover virtual table.
127 // NOTE(shess): Due to a flaw in the recovery virtual table, at this
129 // locations where the recovery table returns NULL. This is not
155 explicit Recovery(Connection* connection);
157 // Setup the recovery database handle for Begin(). Returns false in
164 // Close the recovery database, and poison the original handle.
174 Connection recover_db_; // Recovery connection.
176 DISALLOW_COPY_AND_ASSIGN(Recovery);