aboutsummaryrefslogtreecommitdiff
path: root/odb/mssql/query.txx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-10-08 16:09:07 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-10-08 16:09:07 +0200
commitd3261c7ed4ac622c8807ba88b39bd41632577c4f (patch)
tree5b21da2657756b553d70526c18ea30c387d2b25b /odb/mssql/query.txx
parentf301e6ae8a836dff7face65e24e2de29e077166b (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/mssql/query.txx')
-rw-r--r--odb/mssql/query.txx27
1 files changed, 14 insertions, 13 deletions
diff --git a/odb/mssql/query.txx b/odb/mssql/query.txx
index 522059a..d77ea83 100644
--- a/odb/mssql/query.txx
+++ b/odb/mssql/query.txx
@@ -6,12 +6,12 @@ namespace odb
{
namespace mssql
{
- // 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;
}