aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2014-08-18 12:38:56 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2014-08-18 12:38:56 +0200
commit8d066b8a07f45c517b6f8256eb4e4adbff3709a4 (patch)
tree67875e8091f1bc49f4967deafe070d8b48acb3d0
parentbd7846e4f743f252191658e6589cc28d42c47cb4 (diff)
Diagnose index definition on inverse member
-rw-r--r--odb/relational/validator.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/odb/relational/validator.cxx b/odb/relational/validator.cxx
index 3218b57..9705121 100644
--- a/odb/relational/validator.cxx
+++ b/odb/relational/validator.cxx
@@ -392,7 +392,8 @@ namespace relational
{
indexes& ins (c.get<indexes> ("index"));
- // Make sure index members are not transient or containers.
+ // Make sure index members are not transient, inverse, or
+ // containers.
//
for (indexes::iterator i (ins.begin ()); i != ins.end (); ++i)
{
@@ -410,6 +411,13 @@ namespace relational
valid_ = false;
}
+ if (inverse (m))
+ {
+ error (im.loc) << "index member is an inverse object " <<
+ "pointer" << endl;
+ valid_ = false;
+ }
+
if (container (m))
{
error (im.loc) << "index member is a container" << endl;