diff options
Diffstat (limited to 'odb/relational/oracle/header.cxx')
-rw-r--r-- | odb/relational/oracle/header.cxx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/odb/relational/oracle/header.cxx b/odb/relational/oracle/header.cxx index f87e8de..055ef7b 100644 --- a/odb/relational/oracle/header.cxx +++ b/odb/relational/oracle/header.cxx @@ -226,6 +226,36 @@ namespace relational member_image_type member_image_type_; }; entry<image_member> image_member_; + + struct class1: relational::class1 + { + class1 (base const& x): base (x) {} + + virtual void + object_public_extra_pre (type& c) + { + bool abst (abstract (c)); + + type* poly_root (polymorphic (c)); + bool poly (poly_root != 0); + bool poly_derived (poly && poly_root != &c); + + if (poly_derived || (abst && !poly)) + return; + + // Bulk operations batch size. + // + { + unsigned long long b (c.count ("bulk") + ? c.get<unsigned long long> ("bulk") + : 1); + + os << "static const std::size_t batch = " << b << "UL;" + << endl; + } + } + }; + entry<class1> class1_entry_; } } } |