aboutsummaryrefslogtreecommitdiff
path: root/pgsql/custom
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-10-08 16:09:08 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-10-08 16:09:08 +0200
commit3d1969a43fce72dd50044c5eada38557f3f200bd (patch)
tree8515c6a535117d4f53bc8fe59feab8129563ebb4 /pgsql/custom
parent6b76715e63d2c265a4c51c73f9019bc578f874cb (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 'pgsql/custom')
-rw-r--r--pgsql/custom/driver.cxx7
-rw-r--r--pgsql/custom/query.hxx34
2 files changed, 21 insertions, 20 deletions
diff --git a/pgsql/custom/driver.cxx b/pgsql/custom/driver.cxx
index f1f70f8..7188f74 100644
--- a/pgsql/custom/driver.cxx
+++ b/pgsql/custom/driver.cxx
@@ -18,14 +18,15 @@
#include "test-odb.hxx"
using namespace std;
-using namespace odb::core;
+namespace pgsql = odb::pgsql;
+using namespace pgsql;
int
main (int argc, char* argv[])
{
try
{
- auto_ptr<database> db (create_database (argc, argv));
+ auto_ptr<database> db (create_specific_database<database> (argc, argv));
object o (1);
o.p = point (1.1111, 2222222222.2);
@@ -61,7 +62,7 @@ main (int argc, char* argv[])
// Query.
//
- typedef odb::query<object> query;
+ typedef pgsql::query<object> query;
typedef odb::result<object> result;
{
diff --git a/pgsql/custom/query.hxx b/pgsql/custom/query.hxx
index 4b29b45..432d25b 100644
--- a/pgsql/custom/query.hxx
+++ b/pgsql/custom/query.hxx
@@ -34,18 +34,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;
}
@@ -53,61 +53,61 @@ namespace odb
// =
//
public:
- query
+ query_base
equal (const point& v) const
{
return equal (val_bind<point> (v));
}
- query
+ query_base
equal (val_bind<point> v) const
{
- query q (table_, column_);
+ query_base q (table_, column_);
q += "~=";
q.append<point, id_string> (v, conversion_);
return q;
}
- query
+ query_base
equal (ref_bind<point> r) const
{
- query q (table_, column_);
+ query_base q (table_, column_);
q += "~=";
q.append<point, id_string> (r, conversion_);
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<point> v)
{
return c.equal (v);
}
- friend query
+ friend query_base
operator== (val_bind<point> v, const query_column& c)
{
return c.equal (v);
}
- friend query
+ friend query_base
operator== (const query_column& c, ref_bind<point> r)
{
return c.equal (r);
}
- friend query
+ friend query_base
operator== (ref_bind<point> r, const query_column& c)
{
return c.equal (r);
@@ -116,10 +116,10 @@ namespace odb
// Column comparison.
//
public:
- query
+ query_base
operator== (const query_column<point, id_string>& c) const
{
- query q (table_, column_);
+ query_base q (table_, column_);
q += "~=";
q.append (c.table (), c.column ());
return q;