summaryrefslogtreecommitdiff
path: root/odb/relational/sqlite/source.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-03-24 12:35:08 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-03-24 12:35:08 +0200
commit8f59ca1a8d7093655f8f7d61f101abc6df3839d5 (patch)
tree2555c001df7b81560bdc3c579f8c84260c168203 /odb/relational/sqlite/source.cxx
parent9cb4ce54829fb2f091e8690b591440b4369a1387 (diff)
Generalization work for MySQL and SQLite support
Diffstat (limited to 'odb/relational/sqlite/source.cxx')
-rw-r--r--odb/relational/sqlite/source.cxx20
1 files changed, 16 insertions, 4 deletions
diff --git a/odb/relational/sqlite/source.cxx b/odb/relational/sqlite/source.cxx
index 360e220..418a5e3 100644
--- a/odb/relational/sqlite/source.cxx
+++ b/odb/relational/sqlite/source.cxx
@@ -103,7 +103,7 @@ namespace relational
<< b << ".buffer = " << arg << "." << mi.var << "value.data ();"
<< b << ".size = &" << arg << "." << mi.var << "size;"
<< b << ".capacity = " << arg << "." << mi.var <<
- "value.capacity ());"
+ "value.capacity ();"
<< b << ".is_null = &" << arg << "." << mi.var << "null;";
}
@@ -114,7 +114,7 @@ namespace relational
<< b << ".buffer = " << arg << "." << mi.var << "value.data ();"
<< b << ".size = &" << arg << "." << mi.var << "size;"
<< b << ".capacity = " << arg << "." << mi.var <<
- "value.capacity ());"
+ "value.capacity ();"
<< b << ".is_null = &" << arg << "." << mi.var << "null;";
}
@@ -144,7 +144,7 @@ namespace relational
return false;
ostringstream ostr;
- ostr << "e[" << index_ << "UL]";
+ ostr << "t[" << index_ << "UL]";
e = ostr.str ();
if (var_override_.empty ())
@@ -168,7 +168,7 @@ namespace relational
{
os << "if (composite_value_traits< " << mi.fq_type () <<
" >::grow (" << endl
- << "i." << mi.var << "value, e + " << index_ << "UL))"
+ << "i." << mi.var << "value, t + " << index_ << "UL))"
<< "{"
<< "grew = true;"
<< "}";
@@ -557,6 +557,18 @@ namespace relational
member_database_type_id member_database_type_id_;
};
entry<init_value_member> init_value_member_;
+
+ struct class_: relational::class_, context
+ {
+ class_ (base const& x): base (x) {}
+
+ virtual void
+ init_auto_id (semantics::data_member&, string const& im)
+ {
+ os << im << "null = true;";
+ }
+ };
+ entry<class_> class_entry_;
}
}
}