35#include "DatabaseField.h"
36#include <sptk5/FieldList.h>
37#include <sptk5/db/DatabaseStatement.h>
41class OracleConnection;
96 void execute(
bool inTransaction)
override;
103 void execBulk(
bool inTransaction,
bool lastIteration);
117 state().eof = (m_resultSet->next() == ResultSet::END_OF_FETCH);
129 void getOutputParameters(
FieldList& fields);
132 Statement* m_createClobStatement {
nullptr};
133 Statement* m_createBlobStatement {
nullptr};
139 std::vector<unsigned> m_outputParamIndex;
147 void setClobParameter(uint32_t parameterIndex,
unsigned char* data, uint32_t dataSize);
155 void setBlobParameter(uint32_t parameterIndex,
unsigned char* data, uint32_t dataSize);
162 void getBLOBOutputParameter(
unsigned int index,
const SDatabaseField& field)
const;
169 void getCLOBOutputParameter(
unsigned int index,
const SDatabaseField& field)
const;
176 void setCLOBParameterValue(
unsigned int parameterIndex, QueryParameter& parameter);
183 void setBLOBParameterValue(
unsigned int parameterIndex, QueryParameter& parameter);
190 void setDateParameterValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
197 void setDateTimeParameterValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
204 void setInt64ParamValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
211 void setBooleanParamValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
218 void setStringParamValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
225 void setFloatParamValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
232 void setIntParamValue(
unsigned int parameterIndex,
const QueryParameter& parameter);
234 void getDateOutputParameter(
unsigned int index,
const SDatabaseField& field)
const;
236 void getDateTimeOutputParameter(
unsigned int index,
const SDatabaseField& field)
const;
Definition: DatabaseStatement.h:38
Definition: FieldList.h:50
Definition: OracleStatement.h:48
OracleStatement & operator=(const OracleStatement &)=delete
oracle::occi::MetaData MetaData
Oracle result set metdata type.
Definition: OracleStatement.h:53
OracleStatement & operator=(OracleStatement &&)=default
void execBulk(bool inTransaction, bool lastIteration)
~OracleStatement() override
oracle::occi::Connection Connection
Oracle connection type.
Definition: OracleStatement.h:50
void fetch() override
Definition: OracleStatement.h:113
oracle::occi::Statement Statement
Oracle statement type.
Definition: OracleStatement.h:51
void setParameterValues() override
OracleStatement(OracleStatement &&)=default
OracleStatement(const OracleStatement &)=delete
oracle::occi::ResultSet ResultSet
Oracle result set type.
Definition: OracleStatement.h:52
ResultSet * resultSet()
Definition: OracleStatement.h:124
OracleStatement(OracleConnection *connection, const std::string &sql)
void execute(bool inTransaction) override