aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/statement.hxx
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-09-19 10:43:42 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-09-19 10:43:42 +0200
commitf1de6d3f15de3239f5e95587e3486ab6e86e3e78 (patch)
tree6a5436e25abf18534c0946b3d877f63531781dcd /odb/oracle/statement.hxx
parent946c283a971f09a4d1f72066d17a684f62f51d88 (diff)
Refactor stream_lobs so that base statement class does not maintain state
Diffstat (limited to 'odb/oracle/statement.hxx')
-rw-r--r--odb/oracle/statement.hxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/odb/oracle/statement.hxx b/odb/oracle/statement.hxx
index 8d0b491..d942e82 100644
--- a/odb/oracle/statement.hxx
+++ b/odb/oracle/statement.hxx
@@ -55,14 +55,11 @@ namespace odb
// Stream the result LOBs, calling user callbacks where necessary.
//
void
- stream_result_lobs ();
+ stream_result (bind*, std::size_t count);
protected:
connection& conn_;
auto_handle<OCIStmt> stmt_;
-
- bind* result_binds_;
- std::size_t count_;
};
class LIBODB_ORACLE_EXPORT select_statement: public statement
@@ -95,6 +92,12 @@ namespace odb
fetch ();
void
+ stream_result ()
+ {
+ statement::stream_result (data_.bind, data_.count);
+ }
+
+ void
free_result ();
private:
@@ -102,6 +105,7 @@ namespace odb
select_statement& operator= (const select_statement&);
private:
+ binding& data_;
bool done_;
};