summaryrefslogtreecommitdiff
path: root/odb/relational/pgsql
diff options
context:
space:
mode:
Diffstat (limited to 'odb/relational/pgsql')
-rw-r--r--odb/relational/pgsql/source.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/odb/relational/pgsql/source.cxx b/odb/relational/pgsql/source.cxx
index c868df2..7bb2f8a 100644
--- a/odb/relational/pgsql/source.cxx
+++ b/odb/relational/pgsql/source.cxx
@@ -611,7 +611,10 @@ namespace relational
semantics::data_member* id (id_member (c));
- if (id != 0 && id->count ("auto"))
+ type* poly_root (polymorphic (c));
+ bool poly_derived (poly_root != 0 && poly_root != &c);
+
+ if (id != 0 && !poly_derived && id->count ("auto"))
{
os << endl
<< strlit (" RETURNING " + column_qname (*id));