From 3d1969a43fce72dd50044c5eada38557f3f200bd Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 8 Oct 2012 16:09:08 +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. --- mssql/custom/driver.cxx | 7 ++++--- mssql/custom/query.hxx | 34 +++++++++++++++++----------------- mssql/database/driver.cxx | 3 ++- mssql/native/driver.cxx | 5 +++-- mssql/query/driver.cxx | 7 ++++--- mssql/template/driver.cxx | 5 +++-- mssql/types/driver.cxx | 7 ++++--- 7 files changed, 37 insertions(+), 31 deletions(-) (limited to 'mssql') diff --git a/mssql/custom/driver.cxx b/mssql/custom/driver.cxx index 7b0891d..3e69f97 100644 --- a/mssql/custom/driver.cxx +++ b/mssql/custom/driver.cxx @@ -18,14 +18,15 @@ #include "test-odb.hxx" using namespace std; -using namespace odb::core; +namespace mssql = odb::mssql; +using namespace mssql; int main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + auto_ptr db (create_specific_database (argc, argv)); object o (1); @@ -58,7 +59,7 @@ main (int argc, char* argv[]) // Query. // - typedef odb::query query; + typedef mssql::query query; typedef odb::result result; { diff --git a/mssql/custom/query.hxx b/mssql/custom/query.hxx index 21dee89..0c5f1f2 100644 --- a/mssql/custom/query.hxx +++ b/mssql/custom/query.hxx @@ -38,18 +38,18 @@ namespace odb // is_null, is_not_null // public: - query + query_base is_null () const { - query q (table_, column_); + query_base q (table_, column_); q += "IS NULL"; return q; } - query + query_base is_not_null () const { - query q (table_, column_); + query_base q (table_, column_); q += "IS NOT NULL"; return q; } @@ -57,63 +57,63 @@ namespace odb // = // public: - query + query_base equal (const point& v) const { return equal (val_bind (v)); } - query + query_base equal (val_bind v) const { - query q (table_, column_); + query_base q (table_, column_); q += ".STEquals("; q.append (v, conversion_); q += ") = 1"; return q; } - query + query_base equal (ref_bind r) const { - query q (table_, column_); + query_base q (table_, column_); q += ".STEquals("; q.append (r, conversion_); q += ") = 1"; return q; } - friend query + friend query_base operator== (const query_column& c, const point& v) { return c.equal (v); } - friend query + friend query_base operator== (const point& v, const query_column& c) { return c.equal (v); } - friend query + friend query_base operator== (const query_column& c, val_bind v) { return c.equal (v); } - friend query + friend query_base operator== (val_bind v, const query_column& c) { return c.equal (v); } - friend query + friend query_base operator== (const query_column& c, ref_bind r) { return c.equal (r); } - friend query + friend query_base operator== (ref_bind r, const query_column& c) { return c.equal (r); @@ -122,10 +122,10 @@ namespace odb // Column comparison. // public: - query + query_base operator== (const query_column& c) const { - query q (table_, column_); + query_base q (table_, column_); q += ".STEquals("; q.append (c.table (), c.column ()); q += ") = 1"; diff --git a/mssql/database/driver.cxx b/mssql/database/driver.cxx index 747fc98..7f8aa8f 100644 --- a/mssql/database/driver.cxx +++ b/mssql/database/driver.cxx @@ -7,7 +7,8 @@ #include -using namespace odb::mssql; +namespace mssql = odb::mssql; +using namespace mssql; int main (int argc, char* argv[]) diff --git a/mssql/native/driver.cxx b/mssql/native/driver.cxx index 097a72d..710c3c5 100644 --- a/mssql/native/driver.cxx +++ b/mssql/native/driver.cxx @@ -15,14 +15,15 @@ #include using namespace std; -using namespace odb::core; +namespace mssql = odb::mssql; +using namespace mssql; int main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + auto_ptr db (create_specific_database (argc, argv)); // Create the database schema. // diff --git a/mssql/query/driver.cxx b/mssql/query/driver.cxx index 03e97af..03b3284 100644 --- a/mssql/query/driver.cxx +++ b/mssql/query/driver.cxx @@ -18,14 +18,15 @@ #include "test-odb.hxx" using namespace std; -using namespace odb::core; +namespace mssql = odb::mssql; +using namespace mssql; int main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + auto_ptr db (create_specific_database (argc, argv)); { object o1; @@ -63,7 +64,7 @@ main (int argc, char* argv[]) t.commit (); } - typedef odb::query query; + typedef mssql::query query; typedef odb::result result; { diff --git a/mssql/template/driver.cxx b/mssql/template/driver.cxx index 4c7ff97..26488fc 100644 --- a/mssql/template/driver.cxx +++ b/mssql/template/driver.cxx @@ -18,14 +18,15 @@ #include "test-odb.hxx" using namespace std; -using namespace odb::core; +namespace mssql = odb::mssql; +using namespace mssql; int main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + auto_ptr db (create_specific_database (argc, argv)); // // diff --git a/mssql/types/driver.cxx b/mssql/types/driver.cxx index cd5523d..6390950 100644 --- a/mssql/types/driver.cxx +++ b/mssql/types/driver.cxx @@ -18,14 +18,15 @@ #include "test-odb.hxx" using namespace std; -using namespace odb::core; +namespace mssql = odb::mssql; +using namespace mssql; int main (int argc, char* argv[]) { try { - auto_ptr db (create_database (argc, argv)); + auto_ptr db (create_specific_database (argc, argv)); { object o (1); @@ -130,7 +131,7 @@ main (int argc, char* argv[]) // Test short/long data in queries. // - typedef odb::query query; + typedef mssql::query query; typedef odb::result result; { -- cgit v1.1