diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-11-20 18:10:27 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-11-20 18:10:27 +0200 |
commit | e5f6d58885c6555a576bcc53b82797fdc6f241bf (patch) | |
tree | 1f46cf8086b43680794a8151c337da0437e92892 | |
parent | 2731c14f6b16b8b40eb9b1c9061e6e296f3d49f8 (diff) |
-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 15a4fcf..494abf5 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 6a3d761..23600d0 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 7d29c1e..03467cc 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 (); |