summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-10-14 15:30:52 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-10-21 11:47:14 +0200
commitf9326ec8f34fa9bfa7f8d7a97441ed1de1c5aece (patch)
tree96a834291b1124f6b08f0a1047414472520b49c2
parent01a97a524646bfd50b2ababa3a56ce433d8c62b8 (diff)
Generate Oracle code using updated bind callback and context members
-rw-r--r--odb/relational/oracle/header.cxx4
-rw-r--r--odb/relational/oracle/source.cxx9
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;
}