summaryrefslogtreecommitdiff
path: root/odb/relational/oracle/source.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/relational/oracle/source.cxx')
-rw-r--r--odb/relational/oracle/source.cxx20
1 files changed, 3 insertions, 17 deletions
diff --git a/odb/relational/oracle/source.cxx b/odb/relational/oracle/source.cxx
index 39805e9..e026214 100644
--- a/odb/relational/oracle/source.cxx
+++ b/odb/relational/oracle/source.cxx
@@ -765,31 +765,17 @@ namespace relational
}
virtual void
- persist_stmt (type& c)
+ persist_stmt_extra (type& c, relational::query_parameters& qp)
{
- os << strlit ("INSERT INTO " + table_qname (c) + " (") << endl;
-
- instance<relational::object_columns> ct (false);
- ct->traverse (c);
-
- string values;
- instance<relational::persist_statement_params> pt (values);
- pt->traverse (c);
-
- os << strlit (") VALUES (" + values + ")");
-
semantics::data_member* id (id_member (c));
if (id->count ("auto"))
{
- ostringstream n;
- n << pt->count () + 1;
-
os << endl
<< strlit (" RETURNING " +
column_qname (*id) +
- " INTO :" +
- n.str ());
+ " INTO " +
+ qp.next ());
}
}
};