Home | History | Annotate | Download | only in sql

Lines Matching refs:Recovery

15 #include "sql/recovery.h"
100 // If the Recovery handle goes out of scope without being
103 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
104 ASSERT_TRUE(recovery.get());
118 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
119 ASSERT_TRUE(recovery.get());
120 sql::Recovery::Unrecoverable(recovery.Pass());
136 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
137 ASSERT_TRUE(recovery.get());
140 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
144 ASSERT_TRUE(recovery->db()->Execute(kAltInsertSql));
147 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
159 // The recovery virtual table is only supported for Chromium's SQLite.
162 // Run recovery through its paces on a valid database.
171 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
179 ASSERT_TRUE(recovery->db()->Execute(kRecoveryCreateSql));
182 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
184 // Copy the data from the recovery tables to the new database.
187 ASSERT_TRUE(recovery->db()->Execute(kRecoveryCopySql));
190 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
210 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(db, db_path);
211 ASSERT_TRUE(recovery.get());
226 ASSERT_TRUE(recovery->db()->Execute(kRecoveryCreateSql));
227 ASSERT_TRUE(recovery->db()->Execute(kCreateTable));
228 ASSERT_TRUE(recovery->db()->Execute(kCreateIndex));
229 ASSERT_TRUE(recovery->db()->Execute(kRecoveryCopySql));
231 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
350 // Call the recovery callback manually.
381 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
382 EXPECT_TRUE(recovery->SetupMeta());
384 EXPECT_TRUE(recovery->GetMetaVersionNumber(&version));
387 sql::Recovery::Rollback(recovery.Pass());
394 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
395 EXPECT_TRUE(recovery->SetupMeta());
397 EXPECT_FALSE(recovery->GetMetaVersionNumber(&version));
400 sql::Recovery::Rollback(recovery.Pass());
409 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
410 EXPECT_FALSE(recovery->SetupMeta());
428 // Create a lame-duck table which will not be propagated by recovery to
429 // detect that the recovery code actually ran.
434 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
435 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
440 ExecuteWithResults(recovery->db(), kTempSchemaSql, "|", "\n"));
443 EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows));
448 ExecuteWithResults(recovery->db(), kTempSchemaSql, "|", "\n"));
450 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
459 // Recovery fails if the target table doesn't exist.
461 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
462 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
466 EXPECT_FALSE(recovery->AutoRecoverTable("y", 0, &rows));
468 sql::Recovery::Unrecoverable(recovery.Pass());
472 // Test that default values correctly replace nulls. The recovery
496 // Create a lame-duck table which will not be propagated by recovery to
497 // detect that the recovery code actually ran.
504 // defaults coming from the recovery system. The two %5 rows should
518 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
520 ASSERT_TRUE(recovery->db()->Execute(final_schema.c_str()));
523 EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows));
526 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
548 // Create a lame-duck table which will not be propagated by recovery to
549 // detect that the recovery code actually ran.
555 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
556 ASSERT_TRUE(recovery->db()->Execute(kFinalSchema));
559 EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows));
562 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
588 // Create a lame-duck table which will not be propagated by recovery to
589 // detect that the recovery code actually ran.
594 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
595 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
598 EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows));
601 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
633 // Create a lame-duck table which will not be propagated by recovery to
634 // detect that the recovery code actually ran.
639 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
640 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
643 EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows));
646 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
675 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
676 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
678 EXPECT_TRUE(recovery->AutoRecoverTable("x", 1, &rows));
680 ASSERT_TRUE(sql::Recovery::Recovered(recovery.Pass()));
702 scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path());
703 ASSERT_TRUE(recovery.get());
708 ASSERT_TRUE(recovery->db()->Execute(kCreateSql));
711 EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows));
715 EXPECT_TRUE(sql::Recovery::Recovered(recovery.Pass()));