diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-11-01 12:41:02 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-11-01 12:41:02 +0200 |
commit | 8bff3a2fc0ccce05abef7972beefadcd2534bdcd (patch) | |
tree | be6b6940abd472b3640f15e22c6f7d51ceee978e /odb/sqlite/object-statements.txx | |
parent | 59cab2f5fd95ed8ae833397044f2b704c3e7a8c4 (diff) |
Implement support for optimistic concurrency
New pragmas: optimistic, version. New test: optimistic. New database
function: reload().
Diffstat (limited to 'odb/sqlite/object-statements.txx')
-rw-r--r-- | odb/sqlite/object-statements.txx | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/odb/sqlite/object-statements.txx b/odb/sqlite/object-statements.txx index 7c5c178..7132296 100644 --- a/odb/sqlite/object-statements.txx +++ b/odb/sqlite/object-statements.txx @@ -17,6 +17,21 @@ namespace odb namespace sqlite { // + // optimistic_data + // + + template <typename T> + optimistic_data<T, true>:: + optimistic_data (bind* b) + : id_image_binding_ ( + b, + object_traits::id_column_count + + object_traits::managed_optimistic_column_count) + { + id_image_version_ = 0; + } + + // // object_statements // @@ -34,9 +49,11 @@ namespace odb select_image_binding_ (select_image_bind_, select_column_count), insert_image_binding_ (insert_image_bind_, insert_column_count), update_image_binding_ (update_image_bind_, - update_column_count + id_column_count), + update_column_count + id_column_count + + managed_optimistic_column_count), id_image_binding_ (update_image_bind_ + update_column_count, - id_column_count) + id_column_count), + od_ (update_image_bind_ + update_column_count) { image_.version = 0; select_image_version_ = 0; |