diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2014-11-26 15:04:56 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-11-26 15:04:56 +0200 |
commit | 06583147eaa601764a789ae586384e38e05e9015 (patch) | |
tree | 03792913f585e4884843f1d6c52988d8dfa96a87 /odb/relational/mssql/source.cxx | |
parent | 858b2d37950c33cdf076382849de952ea44d7779 (diff) |
Implement optimistic concurrency support in bulk operations
Bulk update and SQL Server ROWVERSION not yet supported.
Diffstat (limited to 'odb/relational/mssql/source.cxx')
-rw-r--r-- | odb/relational/mssql/source.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/odb/relational/mssql/source.cxx b/odb/relational/mssql/source.cxx index ffcfa3c..2ce8810 100644 --- a/odb/relational/mssql/source.cxx +++ b/odb/relational/mssql/source.cxx @@ -1118,21 +1118,25 @@ namespace relational } virtual string - optimistic_version_init (semantics::data_member& m) + optimistic_version_init (semantics::data_member& m, bool index) { sql_type t (parse_sql_type (column_type (m), m)); return t.type != sql_type::ROWVERSION ? "1" - : "version (sts.id_image ())"; + : (index + ? "version (sts.id_image (i))" + : "version (sts.id_image ())"); } virtual string - optimistic_version_increment (semantics::data_member& m) + optimistic_version_increment (semantics::data_member& m, bool index) { sql_type t (parse_sql_type (column_type (m), m)); return t.type != sql_type::ROWVERSION ? "1" - : "version (sts.id_image ())"; + : (index + ? "version (sts.id_image (i))" + : "version (sts.id_image ())"); } virtual bool |