summaryrefslogtreecommitdiff
path: root/odb/generator.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-03-10 08:44:28 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-03-21 15:39:59 +0200
commit7ae497743c7b042904fe1f6b4153ab3f4763ff2b (patch)
tree08ba3f742f20d16d893856ccceb070094bd69225 /odb/generator.cxx
parent2436f20262a41bd1cafa5107ab6d6799c03e0964 (diff)
Split MySQL code generator into common and db-specific parts
The common part (in relational/) still has some MySQL-specific parts. Also, add the notion of the current context which is used to avoid explicitly passing the context object to every generator's c-tor.
Diffstat (limited to 'odb/generator.cxx')
-rw-r--r--odb/generator.cxx26
1 files changed, 12 insertions, 14 deletions
diff --git a/odb/generator.cxx b/odb/generator.cxx
index 91548e4..e0187d6 100644
--- a/odb/generator.cxx
+++ b/odb/generator.cxx
@@ -28,11 +28,9 @@
#include <odb/tracer/inline.hxx>
#include <odb/tracer/source.hxx>
-#include <odb/mysql/context.hxx>
-#include <odb/mysql/header.hxx>
-#include <odb/mysql/inline.hxx>
-#include <odb/mysql/source.hxx>
-#include <odb/mysql/sql-schema.hxx>
+#include <odb/relational/generate.hxx>
+
+#include <odb/relational/mysql/context.hxx>
using namespace std;
using namespace cutl;
@@ -119,7 +117,7 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- ctx.reset (new mysql::context (cerr, unit, ops));
+ ctx.reset (new relational::mysql::context (cerr, unit, ops));
break;
}
case database::tracer:
@@ -249,7 +247,7 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- ctx.reset (new mysql::context (hxx, unit, ops));
+ ctx.reset (new relational::mysql::context (hxx, unit, ops));
break;
}
case database::tracer:
@@ -297,7 +295,7 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- mysql::generate_header (static_cast<mysql::context&> (*ctx));
+ relational::header::generate ();
break;
}
case database::tracer:
@@ -336,7 +334,7 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- ctx.reset (new mysql::context (ixx, unit, ops));
+ ctx.reset (new relational::mysql::context (ixx, unit, ops));
break;
}
case database::tracer:
@@ -361,7 +359,7 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- mysql::generate_inline (static_cast<mysql::context&> (*ctx));
+ relational::inline_::generate ();
break;
}
case database::tracer:
@@ -405,8 +403,8 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- mysql::context ctx (cxx, unit, ops);
- mysql::generate_source (ctx);
+ relational::mysql::context ctx (cxx, unit, ops);
+ relational::source::generate ();
break;
}
case database::tracer:
@@ -441,8 +439,8 @@ generate (options const& ops, semantics::unit& unit, path const& p)
{
case database::mysql:
{
- mysql::context ctx (sql, unit, ops);
- mysql::generate_schema (ctx);
+ relational::mysql::context ctx (sql, unit, ops);
+ relational::schema::generate ();
break;
}
case database::tracer: