aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-07-04 09:51:51 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-07-05 14:43:38 +0200
commit2fa77da0e9f4fbb6cb8948108f2f5e510b2c5206 (patch)
tree8070927e3af69b18859e758c61222d2af04a2d30
parentf725d37952cdd200c7e66786d8cdb6335937db1a (diff)
Add query_statment_ctor and post_query_ hooks to relational source generation
-rw-r--r--odb/relational/source.hxx32
1 files changed, 25 insertions, 7 deletions
diff --git a/odb/relational/source.hxx b/odb/relational/source.hxx
index da638de..ba8e2e3 100644
--- a/odb/relational/source.hxx
+++ b/odb/relational/source.hxx
@@ -1873,6 +1873,21 @@ namespace relational
}
virtual void
+ query_statement_ctor (type&)
+ {
+ os << "select_statement (" << endl
+ << "sts.connection ()," << endl
+ << "query_clause + q.clause ()," << endl
+ << "q.parameters_binding ()," << endl
+ << "imb)";
+ }
+
+ virtual void
+ post_query_ (type&)
+ {
+ }
+
+ virtual void
traverse_object (type& c)
{
bool abst (abstract (c));
@@ -2535,13 +2550,16 @@ namespace relational
<< "sts.out_image_version (im.version);"
<< "imb.version++;"
<< "}"
- << "st.reset (new (odb::details::shared) select_statement(" << endl
- << "sts.connection ()," << endl
- << "query_clause + q.clause ()," << endl
- << "q.parameters_binding ()," << endl
- << "imb));"
- << "st->execute ();"
- << "}";
+ << "st.reset (new (odb::details::shared) ";
+
+ query_statement_ctor (c);
+
+ os << ");" << endl
+ << "st->execute ();";
+
+ post_query_ (c);
+
+ os << "}";
}
// create_schema ()