9 #ifndef SOCI_DB2_H_INCLUDED 10 #define SOCI_DB2_H_INCLUDED 14 # ifdef SOCI_DB2_SOURCE 15 # define SOCI_DB2_DECL __declspec(dllexport) 17 # define SOCI_DB2_DECL __declspec(dllimport) 18 # endif // SOCI_DB2_SOURCE 24 # define SOCI_DB2_DECL 41 namespace details {
namespace db2 51 static const std::size_t
maxBuffer = 1024 * 1024 * 1024;
59 static const std::string sqlState(std::string
const & msg,
const SQLSMALLINT htype,
const SQLHANDLE hndl);
69 : statement_(st),buf(NULL)
75 void post_fetch(
bool gotData,
bool calledFromFetch,
indicator* ind);
92 : statement_(st),buf(NULL)
98 void post_fetch(
bool gotData,
indicator* ind);
100 void resize(std::size_t sz);
107 void prepare_indicators(std::size_t size);
122 : statement_(st),buf(NULL),ind(0)
129 void post_use(
bool gotData,
indicator* ind);
135 void *prepare_for_bind(
void *data, SQLLEN &size, SQLSMALLINT &sqlType, SQLSMALLINT &cType);
148 : statement_(st),buf(NULL) {}
161 void prepare_indicators(std::size_t size);
162 void prepare_for_bind(
void *&data, SQLUINTEGER &size,SQLSMALLINT &sqlType, SQLSMALLINT &cType);
185 long long get_affected_rows();
186 int get_number_of_rows();
188 std::string rewrite_for_procedure_call(std::string
const& query);
190 int prepare_for_describe();
191 void describe_column(
int colNum,
data_type& dtype, std::string& columnName);
192 std::size_t column_size(
int col);
222 std::size_t get_len();
223 std::size_t read(std::size_t offset,
char* buf, std::size_t toRead);
224 std::size_t write(std::size_t offset,
char const* buf, std::size_t toWrite);
225 std::size_t append(
char const* buf, std::size_t toWrite);
226 void trim(std::size_t newLen);
249 void parseConnectString(std::string
const &);
250 void parseKeyVal(std::string
const &);
282 #endif // SOCI_DB2_H_INCLUDED db2_session_backend & session_
std::vector< SQLLEN > indVec
details::exchange_type type
std::vector< SQLLEN > indVec
db2_session_backend & session_
details::exchange_type type
db2_vector_use_type_backend(db2_statement_backend &st)
details::db2::binding_method use_binding_method_
db2_statement_backend & statement_
db2_standard_use_type_backend(db2_statement_backend &st)
db2_vector_into_type_backend(db2_statement_backend &st)
details::exchange_type type
std::string get_backend_name() const
bool hasVectorUseElements
SOCI_DB2_DECL void register_factory_db2()
db2_statement_backend & statement_
db2_soci_error(std::string const &msg, SQLRETURN rc)
details::exchange_type type
SQLUINTEGER numRowsFetched
std::vector< std::string > names
static const std::size_t maxBuffer
SOCI_DB2_DECL backend_factory const * factory_db2()
SOCI_DB2_DECL db2_backend_factory const db2
std::vector< ISM::CombinatorialTrainerParameters > parameters
db2_statement_backend & statement_
db2_standard_into_type_backend(db2_statement_backend &st)
db2_statement_backend & statement_