aboutsummaryrefslogtreecommitdiff
path: root/odb/relational/pgsql/source.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-10-12 17:24:45 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-10-19 11:40:38 +0200
commitdefe5aec4edc065546d44ad17b48a2dd5290144d (patch)
tree68dc4a3284689c1e81e4fab0be264ed43b316de9 /odb/relational/pgsql/source.cxx
parentb134d7b4f2c105870a98a67ec568c16c9f632aba (diff)
Completion of prepared query support
Diffstat (limited to 'odb/relational/pgsql/source.cxx')
-rw-r--r--odb/relational/pgsql/source.cxx38
1 files changed, 24 insertions, 14 deletions
diff --git a/odb/relational/pgsql/source.cxx b/odb/relational/pgsql/source.cxx
index e771053..58a2292 100644
--- a/odb/relational/pgsql/source.cxx
+++ b/odb/relational/pgsql/source.cxx
@@ -794,14 +794,19 @@ namespace relational
}
virtual void
- object_query_statement_ctor_args (type&)
+ object_query_statement_ctor_args (type&, string const& q, bool prep)
{
- os << "sts.connection ()," << endl
- << "query_statement_name," << endl
- << "query_statement + q.clause ()," << endl
- << "q.parameter_types ()," << endl
- << "q.parameter_count ()," << endl
- << "q.parameters_binding ()," << endl
+ os << "sts.connection ()," << endl;
+
+ if (prep)
+ os << "n," << endl;
+ else
+ os << "query_statement_name," << endl;
+
+ os << "query_statement + " << q << ".clause ()," << endl
+ << q << ".parameter_types ()," << endl
+ << q << ".parameter_count ()," << endl
+ << q << ".parameters_binding ()," << endl
<< "imb";
}
@@ -817,14 +822,19 @@ namespace relational
}
virtual void
- view_query_statement_ctor_args (type&)
+ view_query_statement_ctor_args (type&, string const& q, bool prep)
{
- os << "sts.connection ()," << endl
- << "query_statement_name," << endl
- << "qs.clause ()," << endl
- << "qs.parameter_types ()," << endl
- << "qs.parameter_count ()," << endl
- << "qs.parameters_binding ()," << endl
+ os << "sts.connection ()," << endl;
+
+ if (prep)
+ os << "n," << endl;
+ else
+ os << "query_statement_name," << endl;
+
+ os << q << ".clause ()," << endl
+ << q << ".parameter_types ()," << endl
+ << q << ".parameter_count ()," << endl
+ << q << ".parameters_binding ()," << endl
<< "imb";
}