diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-08 11:13:51 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-10 18:46:44 +0200 |
commit | a4f25daf17392c9c4b90de60b9d777290706f667 (patch) | |
tree | e3b4903ac35eb2ec4c44cfc7ce630f5d964c7b3d /odb/semantics/relational/deferrable.hxx | |
parent | 2fa6a4d00945866e62d980270d5807f3abca75ab (diff) |
Generate add/drop foreign key migration statements
Also add the --fkeys-deferrable-mode option. General schemas generation
rework.
Diffstat (limited to 'odb/semantics/relational/deferrable.hxx')
-rw-r--r-- | odb/semantics/relational/deferrable.hxx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/odb/semantics/relational/deferrable.hxx b/odb/semantics/relational/deferrable.hxx new file mode 100644 index 0000000..87d696c --- /dev/null +++ b/odb/semantics/relational/deferrable.hxx @@ -0,0 +1,42 @@ +// file : odb/semantics/relational/deferrable.hxx +// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC +// license : GNU GPL v3; see accompanying LICENSE file + +#ifndef ODB_SEMANTICS_RELATIONAL_DEFERRABLE_HXX +#define ODB_SEMANTICS_RELATIONAL_DEFERRABLE_HXX + +#include <string> +#include <iosfwd> + +namespace semantics +{ + namespace relational + { + struct deferrable + { + enum value + { + not_deferrable, + immediate, + deferred + }; + + deferrable (value v = value (0)) : v_ (v) {} + operator value () const {return v_;} + + std::string + string () const; + + private: + value v_; + }; + + std::ostream& + operator<< (std::ostream&, deferrable const&); + + std::istream& + operator>> (std::istream&, deferrable&); + } +} + +#endif // ODB_SEMANTICS_RELATIONAL_DEFERRABLE_HXX |