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