diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-10-08 16:09:08 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-10-08 16:09:08 +0200 |
commit | 745e3ddf00303f6fed4e3962647c4eb11ee64816 (patch) | |
tree | 3ab2ce1b6709e8d3f8b41b0499cdc58f190110b1 /odb/oracle/query.txx | |
parent | d20629df902528e9112d146d97e0523104a46619 (diff) |
Ground work for multi-database support
All generated code now includes database id. The database-specific
database class interface has been updated to include all the database
operations. The database-specific tests now use this interface.
Diffstat (limited to 'odb/oracle/query.txx')
-rw-r--r-- | odb/oracle/query.txx | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/odb/oracle/query.txx b/odb/oracle/query.txx index 47bf513..5921efe 100644 --- a/odb/oracle/query.txx +++ b/odb/oracle/query.txx @@ -6,12 +6,12 @@ namespace odb { namespace oracle { - // query + // query_base // template <database_type_id ID> - query:: - query (const query_column<bool, ID>& c) + query_base:: + query_base (const query_column<bool, ID>& c) : binding_ (0, 0) { // Cannot use IS TRUE here since database type can be a non- @@ -26,10 +26,10 @@ namespace odb // query_column // template <typename T, database_type_id ID> - query query_column<T, ID>:: + query_base query_column<T, ID>:: in (const T& v1, const T& v2) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; q.append<T, ID> (val_bind<T> (v1, prec_, scale_), conversion_); q += ","; @@ -39,10 +39,10 @@ namespace odb } template <typename T, database_type_id ID> - query query_column<T, ID>:: + query_base query_column<T, ID>:: in (const T& v1, const T& v2, const T& v3) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; q.append<T, ID> (val_bind<T> (v1, prec_, scale_), conversion_); q += ","; @@ -54,10 +54,10 @@ namespace odb } template <typename T, database_type_id ID> - query query_column<T, ID>:: + query_base query_column<T, ID>:: in (const T& v1, const T& v2, const T& v3, const T& v4) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; q.append<T, ID> (val_bind<T> (v1, prec_, scale_), conversion_); q += ","; @@ -71,10 +71,10 @@ namespace odb } template <typename T, database_type_id ID> - query query_column<T, ID>:: + query_base query_column<T, ID>:: in (const T& v1, const T& v2, const T& v3, const T& v4, const T& v5) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; q.append<T, ID> (val_bind<T> (v1, prec_, scale_), conversion_); q += ","; @@ -91,10 +91,10 @@ namespace odb template <typename T, database_type_id ID> template <typename I> - query query_column<T, ID>:: + query_base query_column<T, ID>:: in_range (I begin, I end) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; for (I i (begin); i != end; ++i) @@ -104,6 +104,7 @@ namespace odb q.append<T, ID> (val_bind<T> (*i, prec_, scale_), conversion_); } + q += ")"; return q; } |