summaryrefslogtreecommitdiff
path: root/odb/relational/context.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/relational/context.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/relational/context.cxx')
-rw-r--r--odb/relational/context.cxx54
1 files changed, 54 insertions, 0 deletions
diff --git a/odb/relational/context.cxx b/odb/relational/context.cxx
new file mode 100644
index 0000000..e7a4f21
--- /dev/null
+++ b/odb/relational/context.cxx
@@ -0,0 +1,54 @@
+// file : odb/relational/context.cxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+// license : GNU GPL v3; see accompanying LICENSE file
+
+#include <odb/relational/context.hxx>
+
+using namespace std;
+
+namespace relational
+{
+ context::
+ context ()
+ : data_ (current ().data_)
+ {
+ }
+
+ context::
+ context (data* d)
+ : data_ (d)
+ {
+ }
+
+ bool context::
+ grow_impl (semantics::class_&)
+ {
+ return false;
+ }
+
+ bool context::
+ grow_impl (semantics::data_member&)
+ {
+ return false;
+ }
+
+ bool context::
+ grow_impl (semantics::data_member&,
+ semantics::type&,
+ string const&)
+ {
+ return false;
+ }
+
+ string context::
+ quote_id_impl (string const& id) const
+ {
+ string r;
+ r.reserve (id.size ());
+ r += '"';
+ r += id;
+ r += '"';
+ return r;
+ }
+}