From 9ad0acf37561de9bf359a561faed53de17c2ca3b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 21 Nov 2012 13:11:43 +0200 Subject: Add dynamic multi-database query support --- odb/relational/oracle/common.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'odb/relational/oracle/common.cxx') diff --git a/odb/relational/oracle/common.cxx b/odb/relational/oracle/common.cxx index 04bb0f8..b1f5398 100644 --- a/odb/relational/oracle/common.cxx +++ b/odb/relational/oracle/common.cxx @@ -405,23 +405,29 @@ namespace relational struct query_columns: relational::query_columns, context { - query_columns (base const& x): base (x) {} + query_columns (base const& x): base_impl (x) {} - virtual void - column_ctor (string const& type, string const& base) + void + column_ctor (string const& type, string const& name, string const& base) { - os << type << " (const char* t," << endl + os << name << " ("; + + if (multi_dynamic) + os << "odb::query_column< " << type << " >& qc," << endl; + + os << "const char* t," << endl << "const char* c," << endl << "const char* conv," << endl << "unsigned short p = 0xFFF," << endl << "short s = 0xFFF)" << endl - << " : " << base << " (t, c, conv, p, s)" + << " : " << base << " (" << (multi_dynamic ? "qc, " : "") << + "t, c, conv, p, s)" << "{" << "}"; } virtual void - column_ctor_extra (semantics::data_member& m) + column_ctor_args_extra (semantics::data_member& m) { // For some types we need to pass precision and scale. // -- cgit v1.1