aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/statement.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/oracle/statement.ixx')
-rw-r--r--odb/oracle/statement.ixx39
1 files changed, 38 insertions, 1 deletions
diff --git a/odb/oracle/statement.ixx b/odb/oracle/statement.ixx
index f1cdb75..0ce76c6 100644
--- a/odb/oracle/statement.ixx
+++ b/odb/oracle/statement.ixx
@@ -43,7 +43,7 @@ namespace odb
{
result_ = true;
- if (r != 0) // OCI_SUCCESS
+ if (r != 0 /*OCI_SUCCESS*/)
{
// An auto-assigned object id should never cause a duplicate primary
// key.
@@ -59,5 +59,42 @@ namespace odb
}
}
}
+
+ inline bool insert_statement::
+ result (std::size_t i)
+ {
+ // Get to the next parameter set if necessary.
+ //
+ if (i != i_)
+ {
+ mex_->current (++i_); // mex cannot be NULL since this is a batch.
+ fetch (status_[i_] == 0 ? 0 /*OCI_SUCCESS*/ : -1 /*OCI_ERROR*/,
+ status_[i_]);
+ }
+
+ return result_;
+ }
+
+ // update_statement
+ //
+ inline unsigned long long update_statement::
+ result (std::size_t i)
+ {
+ if (i != i_)
+ mex_->current (++i_); // mex cannot be NULL since this is a batch.
+
+ return result_;
+ }
+
+ // delete_statement
+ //
+ inline unsigned long long delete_statement::
+ result (std::size_t i)
+ {
+ if (i != i_)
+ mex_->current (++i_); // mex cannot be NULL since this is a batch.
+
+ return result_;
+ }
}
}