summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/relational/oracle/header.cxx19
1 files changed, 18 insertions, 1 deletions
diff --git a/odb/relational/oracle/header.cxx b/odb/relational/oracle/header.cxx
index a203d35..b6a25b7 100644
--- a/odb/relational/oracle/header.cxx
+++ b/odb/relational/oracle/header.cxx
@@ -16,6 +16,23 @@ namespace relational
{
namespace relational = relational::header;
+ struct class1: relational::class1
+ {
+ class1 (base const& x): base (x) {}
+
+ virtual void
+ object_public_extra_post (type& c)
+ {
+ if (abstract (c))
+ return;
+
+ os << "static const bool auto_id = " <<
+ (id_member (c)->count ("auto") ? "true;" : "false;")
+ << endl;
+ }
+ };
+ entry<class1> class1_entry_;
+
struct image_member: relational::image_member, member_base
{
image_member (base const& x)
@@ -170,7 +187,7 @@ namespace relational
{
os << image_type << " " << mi.var << "callback;"
<< "sb2 " << mi.var << "indicator;"
- << "OCILobLocator* " << mi.var << "lob;"
+ << "auto_descriptor<OCILobLocator> " << mi.var << "lob;"
<< "void* " << mi.var << "context;"
<< "ub4 " << mi.var << "position_context;"
<< "char " << mi.var << "buffer[4096];"