diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-12-04 11:30:33 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-12-04 11:30:33 +0200 |
commit | 4f22837bda784e29f17750c8f1d623b40c1093d4 (patch) | |
tree | 136b42d29c180fb52a1327ea61894025770d0f90 /common/relationship-query/test.hxx | |
parent | 33a8e17efb8c622413a861047c5c4589a9828f62 (diff) |
Implement on_delete pragma for object pointers
Translates to the ON DELETE SQL clause.
Diffstat (limited to 'common/relationship-query/test.hxx')
-rw-r--r-- | common/relationship-query/test.hxx | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/common/relationship-query/test.hxx b/common/relationship-query/test.hxx deleted file mode 100644 index b2f9568..0000000 --- a/common/relationship-query/test.hxx +++ /dev/null @@ -1,151 +0,0 @@ -// file : common/relationship-query/test.hxx -// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef TEST_HXX -#define TEST_HXX - -#include <common/config.hxx> // HAVE_CXX11, HAVE_TR1_MEMORY - -#if defined(HAVE_CXX11) || defined(HAVE_TR1_MEMORY) - -#include <string> - -#include <odb/core.hxx> - -#ifdef HAVE_CXX11 -# include <memory> -using std::shared_ptr; -#else -# include <odb/tr1/memory.hxx> -using std::tr1::shared_ptr; -#endif - -struct country; - -#pragma db value -struct residence_info -{ - residence_info (bool p, shared_ptr<country> l) - : permanent (p), location (l) - { - } - - residence_info () - { - } - - bool permanent; - - #pragma db not_null - shared_ptr<country> location; -}; - -#pragma db object pointer(shared_ptr) -struct person -{ - person (unsigned long i, - const std::string& fn, - const std::string& ln, - unsigned short a, - shared_ptr<country> r, - bool p, - shared_ptr<country> n) - : id (i), - first_name (fn), - last_name (ln), - age (a), - residence (p, r), - nationality (n) - { - } - - person () - { - } - - #pragma db id - unsigned long id; - - #pragma db column ("first") - std::string first_name; - - #pragma db column ("last") - std::string last_name; - - unsigned short age; - - residence_info residence; - - #pragma db not_null - shared_ptr<country> nationality; - - shared_ptr<person> husband; // Self-join. -}; - -struct employer; - -#pragma db object pointer(shared_ptr) -struct employee: person -{ - employee (unsigned long i, - const std::string& fn, - const std::string& ln, - unsigned short a, - shared_ptr<country> r, - bool p, - shared_ptr<country> n, - shared_ptr<employer> e) - : person (i, fn, ln, a, r, p, n), - employed_by (e) - { - } - - employee () - { - } - - shared_ptr<employer> employed_by; -}; - -#pragma db object pointer(shared_ptr) -struct employer -{ - employer (const std::string& n, shared_ptr<country> nat) - : name (n), nationality (nat) - { - } - - employer () - { - } - - #pragma db id - std::string name; - - // The same member name and type as in person (test JOIN alias). - // - #pragma db not_null - shared_ptr<country> nationality; -}; - -#pragma db object pointer(shared_ptr) -struct country -{ - country (const std::string& c, std::string const& n) - : code (c), name (n) - { - } - - country () - { - } - - #pragma db id - std::string code; // ISO 2-letter country code. - - std::string name; -}; - -#endif // HAVE_CXX11 || HAVE_TR1_MEMORY -#endif // TEST_HXX |