diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-25 20:32:06 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-25 20:32:06 +0300 |
commit | 0d49ea1fe08cf1eab41a00149393a291c65a59d7 (patch) | |
tree | 0391eb09309ca95282e200516937e64d89f3e1bb /common/no-id/driver.cxx | |
parent | fc3fb39c90ab7fe5fccbe3f3bc0eb2645157bb96 (diff) |
Turn odb-tests repository into package for muti-package repositoryodb-tests
Diffstat (limited to 'common/no-id/driver.cxx')
-rw-r--r-- | common/no-id/driver.cxx | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/common/no-id/driver.cxx b/common/no-id/driver.cxx deleted file mode 100644 index eee69a5..0000000 --- a/common/no-id/driver.cxx +++ /dev/null @@ -1,102 +0,0 @@ -// file : common/no-id/driver.cxx -// license : GNU GPL v2; see accompanying LICENSE file - -// Test persistent classes without id. -// - -#include <memory> // std::unique_ptr -#include <iostream> - -#include <odb/database.hxx> -#include <odb/transaction.hxx> - -#include <libcommon/common.hxx> - -#include "test.hxx" -#include "test-odb.hxx" - -#undef NDEBUG -#include <cassert> - -using namespace std; -using namespace odb::core; - -int -main (int argc, char* argv[]) -{ - try - { - unique_ptr<database> db (create_database (argc, argv)); - - object o1 (1, "aaa"); - object o2 (2, "bbb"); - object o3 (3, "ccc"); - - // Persist. - // - { - transaction t (db->begin ()); - db->persist (o1); - db->persist (o2); - db->persist (o2); // Ok, since there is no id. - db->persist (o3); - t.commit (); - } - - // Compile errors. - // - { - //db->load<object> (1); - //db->find<object> (1); - //db->update (o1); - //db->erase<object> (1); - } - - typedef odb::query<object> query; - typedef odb::result<object> result; - - // Query. - // - { - transaction t (db->begin ()); - - { - result r (db->query<object> ()); - assert (size (r) == 4); - } - - { - result r (db->query<object> (query::str == "aaa")); - result::iterator i (r.begin ()); - assert (i != r.end ()); - assert (i->num == 1 && i->str == "aaa"); - object o; - i.load (o); - //i.id (); // Compile-time error. - assert (o.num == 1 && o.str == "aaa"); - assert (++i == r.end ()); - } - - { - result r (db->query<object> (query::num < 3)); - assert (size (r) == 3); - } - - t.commit (); - } - - // Erase (query). - // - { - transaction t (db->begin ()); - assert (db->erase_query<object> (query::num == 2) == 2); - assert (db->erase_query<object> () == 2); - t.commit (); - } - } - catch (const odb::exception& e) - { - cerr << e.what () << endl; - return 1; - } -} |