diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-09-05 13:02:10 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-09-05 13:02:10 +0200 |
commit | 654826cdafaac4199c8a8c90ef3396e312f0944f (patch) | |
tree | 5fb40bdbca960c426fe9d20a4450d89fc6250a7d /odb/context.hxx | |
parent | 7e922ee487bad99ce3cad3a2b2bec8ac2b381c92 (diff) |
Versioned section support
Diffstat (limited to 'odb/context.hxx')
-rw-r--r-- | odb/context.hxx | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/odb/context.hxx b/odb/context.hxx index 9bd0057..9e7ac0a 100644 --- a/odb/context.hxx +++ b/odb/context.hxx @@ -347,8 +347,9 @@ struct user_section: object_section special_type s = special_ordinary) : member (&m), object (&o), base (0), index (i), load (l), update (u), special (s), - total (0), inverse (0), readonly (0), - containers (false), readwrite_containers (false) {} + total (0), inverse (0), readonly (0), versioned (false), + containers (false), readwrite_containers (false), + versioned_containers (false), readwrite_versioned_containers (false) {} virtual bool compare (object_section const& s) const; @@ -399,9 +400,14 @@ struct user_section: object_section std::size_t inverse; std::size_t readonly; + bool versioned; + bool containers; bool readwrite_containers; + bool versioned_containers; + bool readwrite_versioned_containers; + // Total counts across overrides. // std::size_t @@ -475,10 +481,18 @@ struct user_sections: std::list<user_section> // static unsigned short const count_optimistic = 0x10; + // Modifiers: + // + // Don't exclude fake optimistic version update section from the count. // static unsigned short const count_special_version = 0x20; + // Only count versioned sections. + // + static unsigned short const count_versioned_only = 0x40; + + // Count all sections, including special. // static unsigned short const count_all = count_update | |