aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/oracle/statement.cxx13
-rw-r--r--odb/oracle/statement.hxx4
2 files changed, 8 insertions, 9 deletions
diff --git a/odb/oracle/statement.cxx b/odb/oracle/statement.cxx
index a88aa06..ebdbced 100644
--- a/odb/oracle/statement.cxx
+++ b/odb/oracle/statement.cxx
@@ -48,7 +48,7 @@ namespace odb
}
void statement::
- bind_param (bind* b, size_t c)
+ bind_param (bind* b, size_t c, size_t o)
{
for (size_t i (0); i < c; ++i)
{
@@ -57,7 +57,7 @@ namespace odb
sword r (OCIBindByPos (stmt_,
&h,
conn_.error_handle (),
- i,
+ o + i,
b[i].buffer,
b[i].capacity,
b[i].type,
@@ -120,7 +120,7 @@ namespace odb
end_ (false),
rows_ (0)
{
- bind_param (cond.bind, cond.count);
+ bind_param (cond.bind, cond.count, 0);
bind_result (data.bind, data.count);
}
@@ -263,7 +263,7 @@ namespace odb
bool returning)
: statement (conn, s)
{
- bind_param (data.bind, data.count);
+ bind_param (data.bind, data.count, 0);
if (returning)
{
@@ -357,7 +357,8 @@ namespace odb
binding& data)
: statement (conn, s)
{
- bind_param (data.bind, cond.count + data.count);
+ bind_param (data.bind, data.count, 0);
+ bind_param (cond.bind, cond.count, data.count);
}
void update_statement::
@@ -409,7 +410,7 @@ namespace odb
binding& cond)
: statement (conn, s)
{
- bind_param (cond.bind, cond.count);
+ bind_param (cond.bind, cond.count, 0);
}
unsigned long long delete_statement::
diff --git a/odb/oracle/statement.hxx b/odb/oracle/statement.hxx
index d59f3a6..cbdb2ce 100644
--- a/odb/oracle/statement.hxx
+++ b/odb/oracle/statement.hxx
@@ -41,7 +41,7 @@ namespace odb
// due to lost OCIBind resources.
//
void
- bind_param (bind*, std::size_t count);
+ bind_param (bind*, std::size_t count, std::size_t offset);
// Bind input parameters to this statement. This function must
// only be called once. Multiple calls to it will result in memory leaks
@@ -143,8 +143,6 @@ namespace odb
virtual
~update_statement ();
- // Asssumes that cond.bind is a suffix of data.bind.
- //
update_statement (connection& conn,
const std::string& statement,
binding& cond,