aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/object-statements.txx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-10-27 15:16:49 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-10-27 15:16:49 +0200
commitd83a7296e228cf0af74992020f51c566a03108c9 (patch)
treeab48b74c739049163839e4334e3855ad19906cb3 /odb/sqlite/object-statements.txx
parent2e8daa4a5880f47e547de7db4e7ff5074d365723 (diff)
Add support for persistent classes without object ids
New pragma id (object). New test: common/no-id.
Diffstat (limited to 'odb/sqlite/object-statements.txx')
-rw-r--r--odb/sqlite/object-statements.txx34
1 files changed, 34 insertions, 0 deletions
diff --git a/odb/sqlite/object-statements.txx b/odb/sqlite/object-statements.txx
index fd596e7..d2bd06f 100644
--- a/odb/sqlite/object-statements.txx
+++ b/odb/sqlite/object-statements.txx
@@ -16,6 +16,10 @@ namespace odb
{
namespace sqlite
{
+ //
+ // object_statements
+ //
+
template <typename T>
object_statements<T>::
~object_statements ()
@@ -115,5 +119,35 @@ namespace odb
delayed_.clear ();
}
+
+ //
+ // object_statements_no_id
+ //
+
+ template <typename T>
+ object_statements_no_id<T>::
+ ~object_statements_no_id ()
+ {
+ }
+
+ template <typename T>
+ object_statements_no_id<T>::
+ object_statements_no_id (connection_type& conn)
+ : statements_base (conn),
+ select_image_binding_ (select_image_bind_, select_column_count),
+ insert_image_binding_ (insert_image_bind_, insert_column_count)
+ {
+ image_.version = 0;
+ select_image_version_ = 0;
+ insert_image_version_ = 0;
+
+ std::memset (insert_image_bind_, 0, sizeof (insert_image_bind_));
+ std::memset (select_image_bind_, 0, sizeof (select_image_bind_));
+ std::memset (
+ select_image_truncated_, 0, sizeof (select_image_truncated_));
+
+ for (std::size_t i (0); i < select_column_count; ++i)
+ select_image_bind_[i].truncated = select_image_truncated_ + i;
+ }
}
}