diff options
Diffstat (limited to 'odb-tests/evolution/template/driver.cxx')
-rw-r--r-- | odb-tests/evolution/template/driver.cxx | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/odb-tests/evolution/template/driver.cxx b/odb-tests/evolution/template/driver.cxx deleted file mode 100644 index b278acd..0000000 --- a/odb-tests/evolution/template/driver.cxx +++ /dev/null @@ -1,124 +0,0 @@ -// file : evolution/template/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// PLACE TEST DESCRIPTION HERE -// - -#include <memory> // std::auto_ptr -#include <cassert> -#include <iostream> - -#include <odb/database.hxx> -#include <odb/transaction.hxx> -#include <odb/schema-catalog.hxx> - -#include <common/common.hxx> - -#include "test2.hxx" -#include "test3.hxx" -#include "test2-odb.hxx" -#include "test3-odb.hxx" - -using namespace std; -using namespace odb::core; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr<database> db (create_database (argc, argv, false)); - bool embedded (schema_catalog::exists (*db)); - - // 1 - base version - // 2 - migration - // 3 - current version - // - unsigned short pass (*argv[argc - 1] - '0'); - - switch (pass) - { - case 1: - { - using namespace v2; - - if (embedded) - { - transaction t (db->begin ()); - schema_catalog::drop_schema (*db); - schema_catalog::create_schema (*db, "", false); - schema_catalog::migrate_schema (*db, 2); - t.commit (); - } - - { - transaction t (db->begin ()); - dummy d (1); - db->persist (d); - t.commit (); - } - break; - } - case 2: - { - using namespace v3; - - if (embedded) - { - transaction t (db->begin ()); - schema_catalog::migrate_schema_pre (*db, 3); - t.commit (); - } - - { - transaction t (db->begin ()); - auto_ptr<dummy> p (db->load<dummy> (1)); - t.commit (); - } - - if (embedded) - { - transaction t (db->begin ()); - schema_catalog::migrate_schema_post (*db, 3); - t.commit (); - } - break; - } - case 3: - { - using namespace v3; - - object o; - - { - transaction t (db->begin ()); - db->persist (o); - t.commit (); - } - - { - transaction t (db->begin ()); - auto_ptr<object> p (db->load<object> (o.id_)); - t.commit (); - } - - { - transaction t (db->begin ()); - auto_ptr<dummy> p (db->load<dummy> (1)); - t.commit (); - } - break; - } - default: - { - cerr << "unknown pass number '" << argv[argc - 1] << "'" << endl; - return 1; - } - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} |