summaryrefslogtreecommitdiff
path: root/odb/relational/pgsql/schema.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-03-15 12:40:52 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-04-10 18:46:43 +0200
commitac0fa531c7aba9d921068acfb7fceda054c5aa27 (patch)
tree24cb7896f2ea436cbc08790a41ad8695a69416ff /odb/relational/pgsql/schema.cxx
parent62886c67aa1088a5e26b885bb0f44c0e02e0975d (diff)
Move type check to model creation instead of schema generation
This way we make sure cxx-location is only used during model creation. As a result, we can now generate schema from a model instantiated from XML.
Diffstat (limited to 'odb/relational/pgsql/schema.cxx')
-rw-r--r--odb/relational/pgsql/schema.cxx12
1 files changed, 2 insertions, 10 deletions
diff --git a/odb/relational/pgsql/schema.cxx b/odb/relational/pgsql/schema.cxx
index 0885200..0a2b82d 100644
--- a/odb/relational/pgsql/schema.cxx
+++ b/odb/relational/pgsql/schema.cxx
@@ -4,7 +4,6 @@
#include <set>
-#include <odb/diagnostics.hxx>
#include <odb/relational/schema.hxx>
#include <odb/relational/pgsql/common.hxx>
@@ -69,19 +68,12 @@ namespace relational
//
sql_type const& t (parse_sql_type (c.type ()));
+ // The model creation code makes sure it is one of these type.
+ //
if (t.type == sql_type::INTEGER)
os << "SERIAL";
else if (t.type == sql_type::BIGINT)
os << "BIGSERIAL";
- else
- {
- location const& l (c.get<location> ("cxx-location"));
-
- error (l) << "automatically assigned object id must map "
- << "to PostgreSQL INTEGER or BIGINT" << endl;
-
- throw operation_failed ();
- }
}
else
base::type (c, auto_);