From d3261c7ed4ac622c8807ba88b39bd41632577c4f Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 8 Oct 2012 16:09:07 +0200 Subject: 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. --- odb/mssql/query.txx | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'odb/mssql/query.txx') 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 - query:: - query (const query_column& c) + query_base:: + query_base (const query_column& 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 - query query_column:: + query_base query_column:: in (const T& v1, const T& v2) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; q.append (val_bind (v1, prec_, scale_), conversion_); q += ","; @@ -39,10 +39,10 @@ namespace odb } template - query query_column:: + query_base query_column:: in (const T& v1, const T& v2, const T& v3) const { - query q (table_, column_); + query_base q (table_, column_); q += "IN ("; q.append (val_bind (v1, prec_, scale_), conversion_); q += ","; @@ -54,10 +54,10 @@ namespace odb } template - query query_column:: + query_base query_column:: 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 (val_bind (v1, prec_, scale_), conversion_); q += ","; @@ -71,10 +71,10 @@ namespace odb } template - query query_column:: + query_base query_column:: 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 (val_bind (v1, prec_, scale_), conversion_); q += ","; @@ -91,10 +91,10 @@ namespace odb template template - query query_column:: + query_base query_column:: 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 (val_bind (*i, prec_, scale_), conversion_); } + q += ")"; return q; } -- cgit v1.1