diff options
author | Constantin Michael <constantin@codesynthesis.com> | 2011-10-20 20:46:48 +0200 |
---|---|---|
committer | Constantin Michael <constantin@codesynthesis.com> | 2011-10-21 11:47:15 +0200 |
commit | 050822b74f51a339501970f21f00916f4deb8836 (patch) | |
tree | 254a48704b67ceafb6e324abb6916379bf49317c /odb/relational/oracle/source.cxx | |
parent | bdf1df065820d84747f9b183306d30a55c60f98f (diff) |
Refactor persist statement hook
Diffstat (limited to 'odb/relational/oracle/source.cxx')
-rw-r--r-- | odb/relational/oracle/source.cxx | 20 |
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 ()); } } }; |