aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-07-16 13:45:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-07-16 13:45:30 +0200
commit1b32b8e4f9bca689a937a2efe30235f71f92ac3c (patch)
tree5a9626a1c67e9afb02da00f945a234e3488d167b
parent2978bf00f72bcf734ffb910b90417e29763624d1 (diff)
Simplify query inheritance hierarchy
This should also allow Sun CC handle queries for objects with circular dependencies.
-rw-r--r--odb/pgsql/query.hxx17
1 files changed, 9 insertions, 8 deletions
diff --git a/odb/pgsql/query.hxx b/odb/pgsql/query.hxx
index 0b5ff55..9e75565 100644
--- a/odb/pgsql/query.hxx
+++ b/odb/pgsql/query.hxx
@@ -1763,7 +1763,8 @@ namespace odb
namespace odb
{
template <typename T>
- class query<T, pgsql::query>: public query_selector<T>::type
+ class query<T, pgsql::query>: public pgsql::query,
+ public query_selector<T>::columns_type
{
public:
// We don't define any typedefs here since they may clash with
@@ -1776,44 +1777,44 @@ namespace odb
explicit
query (bool v)
- : query_selector<T>::type (v)
+ : pgsql::query (v)
{
}
explicit
query (const char* q)
- : query_selector<T>::type (q)
+ : pgsql::query (q)
{
}
explicit
query (const std::string& q)
- : query_selector<T>::type (q)
+ : pgsql::query (q)
{
}
template <typename T2>
explicit
query (pgsql::val_bind<T2> v)
- : query_selector<T>::type (pgsql::query (v))
+ : pgsql::query (pgsql::query (v))
{
}
template <typename T2>
explicit
query (pgsql::ref_bind<T2> r)
- : query_selector<T>::type (pgsql::query (r))
+ : pgsql::query (pgsql::query (r))
{
}
query (const pgsql::query& q)
- : query_selector<T>::type (q)
+ : pgsql::query (q)
{
}
template <pgsql::database_type_id ID>
query (const pgsql::query_column<bool, ID>& qc)
- : query_selector<T>::type (qc)
+ : pgsql::query (qc)
{
}
};