diff options
author | Constantin Michael <constantin@codesynthesis.com> | 2011-10-14 15:30:52 +0200 |
---|---|---|
committer | Constantin Michael <constantin@codesynthesis.com> | 2011-10-21 11:47:14 +0200 |
commit | f9326ec8f34fa9bfa7f8d7a97441ed1de1c5aece (patch) | |
tree | 96a834291b1124f6b08f0a1047414472520b49c2 | |
parent | 01a97a524646bfd50b2ababa3a56ce433d8c62b8 (diff) |
Generate Oracle code using updated bind callback and context members
-rw-r--r-- | odb/relational/oracle/header.cxx | 4 | ||||
-rw-r--r-- | odb/relational/oracle/source.cxx | 9 |
2 files changed, 6 insertions, 7 deletions
diff --git a/odb/relational/oracle/header.cxx b/odb/relational/oracle/header.cxx index 5bfb8d0..7b82332 100644 --- a/odb/relational/oracle/header.cxx +++ b/odb/relational/oracle/header.cxx @@ -186,11 +186,11 @@ namespace relational virtual void traverse_lob (member_info& mi) { - os << image_type << " " << mi.var << "callback;" + os << "mutable " << image_type << " " << mi.var << "callback;" << "sb2 " << mi.var << "indicator;" << "oracle::auto_descriptor<OCILobLocator> " << mi.var << "lob;" - << "void* " << mi.var << "context;" + << "mutable oracle::lob_context " << mi.var << "context;" << "ub4 " << mi.var << "position_context;" << "char " << mi.var << "buffer[4096];" << endl; diff --git a/odb/relational/oracle/source.cxx b/odb/relational/oracle/source.cxx index bd99722..e591234 100644 --- a/odb/relational/oracle/source.cxx +++ b/odb/relational/oracle/source.cxx @@ -225,7 +225,7 @@ namespace relational { os << b << ".type = " << lob_buffer_types[mi.st->type - sql_type::BLOB] << ";" - << b << ".lob_callback = " << arg << "." << mi.var << + << b << ".callback = &" << arg << "." << mi.var << "callback;" << b << ".indicator = &" << arg << "." << mi.var << "indicator;" << b << ".size = " << "out" << endl @@ -233,8 +233,7 @@ namespace relational "lob)" << endl << ": reinterpret_cast<ub2*> (&" << arg << "." << mi.var << "position_context);" - << b << ".callback_context = " << arg << "." << mi.var << - "context;" + << b << ".context = &" << arg << "." << mi.var << "context;" << b << ".buffer = " << arg << "." << mi.var << "buffer;" << b << ".capacity = static_cast<ub4> (sizeof (" << arg << "." << mi.var << "buffer));" @@ -487,7 +486,7 @@ namespace relational os << "i." << mi.var << "position_context = 0;" << traits << "::set_image (" << endl << "i." << mi.var << "callback.param," << endl - << "i." << mi.var << "context," << endl + << "i." << mi.var << "context.param," << endl << "is_null," << endl << member << ");"; } @@ -737,7 +736,7 @@ namespace relational os << traits << "::set_value (" << endl << member << "," << endl << "i." << mi.var << "callback.result," << endl - << "i." << mi.var << "context," << endl + << "i." << mi.var << "context.result," << endl << "i." << mi.var << "indicator == -1);" << endl; } |