diff options
-rw-r--r-- | odb/relational/mysql/source.cxx | 6 | ||||
-rw-r--r-- | odb/relational/pgsql/source.cxx | 6 | ||||
-rw-r--r-- | odb/relational/sqlite/source.cxx | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/odb/relational/mysql/source.cxx b/odb/relational/mysql/source.cxx index a9e7a16..48ae1f2 100644 --- a/odb/relational/mysql/source.cxx +++ b/odb/relational/mysql/source.cxx @@ -316,6 +316,12 @@ namespace relational if (container (mi)) return false; + // Ignore polymorphic id references; they are not returned by + // the select statement. + // + if (mi.ptr != 0 && mi.m.count ("polymorphic-ref")) + return false; + ostringstream ostr; ostr << "t[" << index_ << "UL]"; e = ostr.str (); diff --git a/odb/relational/pgsql/source.cxx b/odb/relational/pgsql/source.cxx index 58a2292..332e25b 100644 --- a/odb/relational/pgsql/source.cxx +++ b/odb/relational/pgsql/source.cxx @@ -265,6 +265,12 @@ namespace relational if (container (mi)) return false; + // Ignore polymorphic id references; they are not returned by + // the select statement. + // + if (mi.ptr != 0 && mi.m.count ("polymorphic-ref")) + return false; + ostringstream ostr; ostr << "t[" << index_ << "UL]"; e = ostr.str (); diff --git a/odb/relational/sqlite/source.cxx b/odb/relational/sqlite/source.cxx index 75e7149..731afba 100644 --- a/odb/relational/sqlite/source.cxx +++ b/odb/relational/sqlite/source.cxx @@ -93,6 +93,12 @@ namespace relational if (container (mi)) return false; + // Ignore polymorphic id references; they are not returned by + // the select statement. + // + if (mi.ptr != 0 && mi.m.count ("polymorphic-ref")) + return false; + ostringstream ostr; ostr << "t[" << index_ << "UL]"; e = ostr.str (); |