Commit 3d32f525 authored by Mateusz Łoskot's avatar Mateusz Łoskot Committed by GitHub

Merge pull request #596 from mloskot/ml/macro-soci-override

Add SOCI_OVERRIDE macro as conditional C++11 override specifier
parents 5d980ee9 05ab0bcf
...@@ -64,7 +64,7 @@ namespace soci ...@@ -64,7 +64,7 @@ namespace soci
class SOCI_DB2_DECL db2_soci_error : public soci_error { class SOCI_DB2_DECL db2_soci_error : public soci_error {
public: public:
db2_soci_error(std::string const & msg, SQLRETURN rc) : soci_error(msg),errorCode(rc) {}; db2_soci_error(std::string const & msg, SQLRETURN rc) : soci_error(msg),errorCode(rc) {};
~db2_soci_error() throw() { }; ~db2_soci_error() throw() SOCI_OVERRIDE { };
//We have to extract error information before exception throwing, cause CLI handles could be broken at the construction time //We have to extract error information before exception throwing, cause CLI handles could be broken at the construction time
static const std::string sqlState(std::string const & msg,const SQLSMALLINT htype,const SQLHANDLE hndl); static const std::string sqlState(std::string const & msg,const SQLSMALLINT htype,const SQLHANDLE hndl);
...@@ -86,12 +86,12 @@ struct SOCI_DB2_DECL db2_standard_into_type_backend : details::standard_into_typ ...@@ -86,12 +86,12 @@ struct SOCI_DB2_DECL db2_standard_into_type_backend : details::standard_into_typ
: statement_(st),buf(NULL) : statement_(st),buf(NULL)
{} {}
void define_by_pos(int& position, void* data, details::exchange_type type); void define_by_pos(int& position, void* data, details::exchange_type type) SOCI_OVERRIDE;
void pre_fetch(); void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, bool calledFromFetch, indicator* ind); void post_fetch(bool gotData, bool calledFromFetch, indicator* ind) SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_; db2_statement_backend& statement_;
...@@ -109,15 +109,15 @@ struct SOCI_DB2_DECL db2_vector_into_type_backend : details::vector_into_type_ba ...@@ -109,15 +109,15 @@ struct SOCI_DB2_DECL db2_vector_into_type_backend : details::vector_into_type_ba
: statement_(st),buf(NULL) : statement_(st),buf(NULL)
{} {}
void define_by_pos(int& position, void* data, details::exchange_type type); void define_by_pos(int& position, void* data, details::exchange_type type) SOCI_OVERRIDE;
void pre_fetch(); void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, indicator* ind); void post_fetch(bool gotData, indicator* ind) SOCI_OVERRIDE;
void resize(std::size_t sz); void resize(std::size_t sz) SOCI_OVERRIDE;
std::size_t size(); std::size_t size() SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_; db2_statement_backend& statement_;
...@@ -139,13 +139,13 @@ struct SOCI_DB2_DECL db2_standard_use_type_backend : details::standard_use_type_ ...@@ -139,13 +139,13 @@ struct SOCI_DB2_DECL db2_standard_use_type_backend : details::standard_use_type_
: statement_(st),buf(NULL),ind(0) : statement_(st),buf(NULL),ind(0)
{} {}
void bind_by_pos(int& position, void* data, details::exchange_type type, bool readOnly); void bind_by_pos(int& position, void* data, details::exchange_type type, bool readOnly) SOCI_OVERRIDE;
void bind_by_name(std::string const& name, void* data, details::exchange_type type, bool readOnly); void bind_by_name(std::string const& name, void* data, details::exchange_type type, bool readOnly) SOCI_OVERRIDE;
void pre_use(indicator const* ind); void pre_use(indicator const* ind) SOCI_OVERRIDE;
void post_use(bool gotData, indicator* ind); void post_use(bool gotData, indicator* ind) SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_; db2_statement_backend& statement_;
...@@ -164,14 +164,14 @@ struct SOCI_DB2_DECL db2_vector_use_type_backend : details::vector_use_type_back ...@@ -164,14 +164,14 @@ struct SOCI_DB2_DECL db2_vector_use_type_backend : details::vector_use_type_back
db2_vector_use_type_backend(db2_statement_backend &st) db2_vector_use_type_backend(db2_statement_backend &st)
: statement_(st),buf(NULL) {} : statement_(st),buf(NULL) {}
void bind_by_pos(int& position, void* data, details::exchange_type type); void bind_by_pos(int& position, void* data, details::exchange_type type) SOCI_OVERRIDE;
void bind_by_name(std::string const& name, void* data, details::exchange_type type); void bind_by_name(std::string const& name, void* data, details::exchange_type type) SOCI_OVERRIDE;
void pre_use(indicator const* ind); void pre_use(indicator const* ind) SOCI_OVERRIDE;
std::size_t size(); std::size_t size() SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_; db2_statement_backend& statement_;
...@@ -192,27 +192,27 @@ struct SOCI_DB2_DECL db2_statement_backend : details::statement_backend ...@@ -192,27 +192,27 @@ struct SOCI_DB2_DECL db2_statement_backend : details::statement_backend
{ {
db2_statement_backend(db2_session_backend &session); db2_statement_backend(db2_session_backend &session);
void alloc(); void alloc() SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
void prepare(std::string const& query, details::statement_type eType); void prepare(std::string const& query, details::statement_type eType) SOCI_OVERRIDE;
exec_fetch_result execute(int number); exec_fetch_result execute(int number) SOCI_OVERRIDE;
exec_fetch_result fetch(int number); exec_fetch_result fetch(int number) SOCI_OVERRIDE;
long long get_affected_rows(); long long get_affected_rows() SOCI_OVERRIDE;
int get_number_of_rows(); int get_number_of_rows() SOCI_OVERRIDE;
std::string get_parameter_name(int index) const; std::string get_parameter_name(int index) const SOCI_OVERRIDE;
std::string rewrite_for_procedure_call(std::string const& query); std::string rewrite_for_procedure_call(std::string const& query) SOCI_OVERRIDE;
int prepare_for_describe(); int prepare_for_describe() SOCI_OVERRIDE;
void describe_column(int colNum, data_type& dtype, std::string& columnName); void describe_column(int colNum, data_type& dtype, std::string& columnName) SOCI_OVERRIDE;
size_t column_size(int col); size_t column_size(int col);
db2_standard_into_type_backend* make_into_type_backend(); db2_standard_into_type_backend* make_into_type_backend() SOCI_OVERRIDE;
db2_standard_use_type_backend* make_use_type_backend(); db2_standard_use_type_backend* make_use_type_backend() SOCI_OVERRIDE;
db2_vector_into_type_backend* make_vector_into_type_backend(); db2_vector_into_type_backend* make_vector_into_type_backend() SOCI_OVERRIDE;
db2_vector_use_type_backend* make_vector_use_type_backend(); db2_vector_use_type_backend* make_vector_use_type_backend() SOCI_OVERRIDE;
db2_session_backend& session_; db2_session_backend& session_;
...@@ -228,20 +228,20 @@ struct db2_rowid_backend : details::rowid_backend ...@@ -228,20 +228,20 @@ struct db2_rowid_backend : details::rowid_backend
{ {
db2_rowid_backend(db2_session_backend &session); db2_rowid_backend(db2_session_backend &session);
~db2_rowid_backend(); ~db2_rowid_backend() SOCI_OVERRIDE;
}; };
struct db2_blob_backend : details::blob_backend struct db2_blob_backend : details::blob_backend
{ {
db2_blob_backend(db2_session_backend& session); db2_blob_backend(db2_session_backend& session);
~db2_blob_backend(); ~db2_blob_backend() SOCI_OVERRIDE;
std::size_t get_len(); std::size_t get_len() SOCI_OVERRIDE;
std::size_t read(std::size_t offset, char* buf, std::size_t toRead); std::size_t read(std::size_t offset, char* buf, std::size_t toRead) SOCI_OVERRIDE;
std::size_t write(std::size_t offset, char const* buf, std::size_t toWrite); std::size_t write(std::size_t offset, char const* buf, std::size_t toWrite) SOCI_OVERRIDE;
std::size_t append(char const* buf, std::size_t toWrite); std::size_t append(char const* buf, std::size_t toWrite) SOCI_OVERRIDE;
void trim(std::size_t newLen); void trim(std::size_t newLen) SOCI_OVERRIDE;
db2_session_backend& session_; db2_session_backend& session_;
}; };
...@@ -250,21 +250,21 @@ struct db2_session_backend : details::session_backend ...@@ -250,21 +250,21 @@ struct db2_session_backend : details::session_backend
{ {
db2_session_backend(connection_parameters const& parameters); db2_session_backend(connection_parameters const& parameters);
~db2_session_backend(); ~db2_session_backend() SOCI_OVERRIDE;
void begin(); void begin() SOCI_OVERRIDE;
void commit(); void commit() SOCI_OVERRIDE;
void rollback(); void rollback() SOCI_OVERRIDE;
virtual std::string get_dummy_from_table() const { return "sysibm.sysdummy1"; } std::string get_dummy_from_table() const SOCI_OVERRIDE { return "sysibm.sysdummy1"; }
std::string get_backend_name() const { return "DB2"; } std::string get_backend_name() const SOCI_OVERRIDE { return "DB2"; }
void clean_up(); void clean_up();
db2_statement_backend* make_statement_backend(); db2_statement_backend* make_statement_backend() SOCI_OVERRIDE;
db2_rowid_backend* make_rowid_backend(); db2_rowid_backend* make_rowid_backend() SOCI_OVERRIDE;
db2_blob_backend* make_blob_backend(); db2_blob_backend* make_blob_backend() SOCI_OVERRIDE;
void parseConnectString(std::string const &); void parseConnectString(std::string const &);
void parseKeyVal(std::string const &); void parseKeyVal(std::string const &);
...@@ -281,7 +281,7 @@ struct SOCI_DB2_DECL db2_backend_factory : backend_factory ...@@ -281,7 +281,7 @@ struct SOCI_DB2_DECL db2_backend_factory : backend_factory
{ {
db2_backend_factory() {} db2_backend_factory() {}
db2_session_backend* make_session( db2_session_backend* make_session(
connection_parameters const & parameters) const; connection_parameters const & parameters) const SOCI_OVERRIDE;
}; };
extern SOCI_DB2_DECL db2_backend_factory const db2; extern SOCI_DB2_DECL db2_backend_factory const db2;
......
...@@ -39,12 +39,12 @@ struct SOCI_EMPTY_DECL empty_standard_into_type_backend : details::standard_into ...@@ -39,12 +39,12 @@ struct SOCI_EMPTY_DECL empty_standard_into_type_backend : details::standard_into
: statement_(st) : statement_(st)
{} {}
void define_by_pos(int& position, void* data, details::exchange_type type); void define_by_pos(int& position, void* data, details::exchange_type type) SOCI_OVERRIDE;
void pre_fetch(); void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, bool calledFromFetch, indicator* ind); void post_fetch(bool gotData, bool calledFromFetch, indicator* ind) SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_; empty_statement_backend& statement_;
}; };
...@@ -55,15 +55,15 @@ struct SOCI_EMPTY_DECL empty_vector_into_type_backend : details::vector_into_typ ...@@ -55,15 +55,15 @@ struct SOCI_EMPTY_DECL empty_vector_into_type_backend : details::vector_into_typ
: statement_(st) : statement_(st)
{} {}
void define_by_pos(int& position, void* data, details::exchange_type type); void define_by_pos(int& position, void* data, details::exchange_type type) SOCI_OVERRIDE;
void pre_fetch(); void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, indicator* ind); void post_fetch(bool gotData, indicator* ind) SOCI_OVERRIDE;
void resize(std::size_t sz); void resize(std::size_t sz) SOCI_OVERRIDE;
std::size_t size(); std::size_t size() SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_; empty_statement_backend& statement_;
}; };
...@@ -74,13 +74,13 @@ struct SOCI_EMPTY_DECL empty_standard_use_type_backend : details::standard_use_t ...@@ -74,13 +74,13 @@ struct SOCI_EMPTY_DECL empty_standard_use_type_backend : details::standard_use_t
: statement_(st) : statement_(st)
{} {}
void bind_by_pos(int& position, void* data, details::exchange_type type, bool readOnly); void bind_by_pos(int& position, void* data, details::exchange_type type, bool readOnly) SOCI_OVERRIDE;
void bind_by_name(std::string const& name, void* data, details::exchange_type type, bool readOnly); void bind_by_name(std::string const& name, void* data, details::exchange_type type, bool readOnly) SOCI_OVERRIDE;
void pre_use(indicator const* ind); void pre_use(indicator const* ind) SOCI_OVERRIDE;
void post_use(bool gotData, indicator* ind); void post_use(bool gotData, indicator* ind) SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_; empty_statement_backend& statement_;
}; };
...@@ -90,14 +90,14 @@ struct SOCI_EMPTY_DECL empty_vector_use_type_backend : details::vector_use_type_ ...@@ -90,14 +90,14 @@ struct SOCI_EMPTY_DECL empty_vector_use_type_backend : details::vector_use_type_
empty_vector_use_type_backend(empty_statement_backend &st) empty_vector_use_type_backend(empty_statement_backend &st)
: statement_(st) {} : statement_(st) {}
void bind_by_pos(int& position, void* data, details::exchange_type type); void bind_by_pos(int& position, void* data, details::exchange_type type) SOCI_OVERRIDE;
void bind_by_name(std::string const& name, void* data, details::exchange_type type); void bind_by_name(std::string const& name, void* data, details::exchange_type type) SOCI_OVERRIDE;
void pre_use(indicator const* ind); void pre_use(indicator const* ind) SOCI_OVERRIDE;
std::size_t size(); std::size_t size() SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_; empty_statement_backend& statement_;
}; };
...@@ -107,26 +107,26 @@ struct SOCI_EMPTY_DECL empty_statement_backend : details::statement_backend ...@@ -107,26 +107,26 @@ struct SOCI_EMPTY_DECL empty_statement_backend : details::statement_backend
{ {
empty_statement_backend(empty_session_backend &session); empty_statement_backend(empty_session_backend &session);
void alloc(); void alloc() SOCI_OVERRIDE;
void clean_up(); void clean_up() SOCI_OVERRIDE;
void prepare(std::string const& query, details::statement_type eType); void prepare(std::string const& query, details::statement_type eType) SOCI_OVERRIDE;
exec_fetch_result execute(int number); exec_fetch_result execute(int number) SOCI_OVERRIDE;
exec_fetch_result fetch(int number); exec_fetch_result fetch(int number) SOCI_OVERRIDE;
long long get_affected_rows(); long long get_affected_rows() SOCI_OVERRIDE;
int get_number_of_rows(); int get_number_of_rows() SOCI_OVERRIDE;
std::string get_parameter_name(int index) const; std::string get_parameter_name(int index) const SOCI_OVERRIDE;
std::string rewrite_for_procedure_call(std::string const& query); std::string rewrite_for_procedure_call(std::string const& query) SOCI_OVERRIDE;
int prepare_for_describe(); int prepare_for_describe() SOCI_OVERRIDE;
void describe_column(int colNum, data_type& dtype, std::string& columnName); void describe_column(int colNum, data_type& dtype, std::string& columnName) SOCI_OVERRIDE;
empty_standard_into_type_backend* make_into_type_backend(); empty_standard_into_type_backend* make_into_type_backend() SOCI_OVERRIDE;
empty_standard_use_type_backend* make_use_type_backend(); empty_standard_use_type_backend* make_use_type_backend() SOCI_OVERRIDE;
empty_vector_into_type_backend* make_vector_into_type_backend(); empty_vector_into_type_backend* make_vector_into_type_backend() SOCI_OVERRIDE;
empty_vector_use_type_backend* make_vector_use_type_backend(); empty_vector_use_type_backend* make_vector_use_type_backend() SOCI_OVERRIDE;
empty_session_backend& session_; empty_session_backend& session_;
}; };
...@@ -135,20 +135,20 @@ struct empty_rowid_backend : details::rowid_backend ...@@ -135,20 +135,20 @@ struct empty_rowid_backend : details::rowid_backend
{ {
empty_rowid_backend(empty_session_backend &session); empty_rowid_backend(empty_session_backend &session);
~empty_rowid_backend(); ~empty_rowid_backend() SOCI_OVERRIDE;
}; };
struct empty_blob_backend : details::blob_backend struct empty_blob_backend : details::blob_backend
{ {
empty_blob_backend(empty_session_backend& session); empty_blob_backend(empty_session_backend& session);
~empty_blob_backend(); ~empty_blob_backend() SOCI_OVERRIDE;
std::size_t get_len(); std::size_t get_len() SOCI_OVERRIDE;
std::size_t read(std::size_t offset, char* buf, std::size_t toRead); std::size_t read(std::size_t offset, char* buf, std::size_t toRead) SOCI_OVERRIDE;
std::size_t write(std::size_t offset, char const* buf, std::size_t toWrite); std::size_t write(std::size_t offset, char const* buf, std::size_t toWrite) SOCI_OVERRIDE;
std::size_t append(char const* buf, std::size_t toWrite); std::size_t append(char const* buf, std::size_t toWrite) SOCI_OVERRIDE;
void trim(std::size_t newLen); void trim(std::size_t newLen) SOCI_OVERRIDE;
empty_session_backend& session_; empty_session_backend& session_;
}; };
...@@ -157,27 +157,27 @@ struct empty_session_backend : details::session_backend ...@@ -157,27 +157,27 @@ struct empty_session_backend : details::session_backend
{ {
empty_session_backend(connection_parameters const& parameters); empty_session_backend(connection_parameters const& parameters);
~empty_session_backend(); ~empty_session_backend() SOCI_OVERRIDE;
void begin(); void begin() SOCI_OVERRIDE;
void commit(); void commit() SOCI_OVERRIDE;
void rollback(); void rollback() SOCI_OVERRIDE;
virtual std::string get_dummy_from_table() const { return std::string(); } std::string get_dummy_from_table() const SOCI_OVERRIDE { return std::string(); }
std::string get_backend_name() const { return "empty"; } std::string get_backend_name() const SOCI_OVERRIDE { return "empty"; }
void clean_up(); void clean_up();
empty_statement_backend* make_statement_backend(); empty_statement_backend* make_statement_backend() SOCI_OVERRIDE;
empty_rowid_backend* make_rowid_backend(); empty_rowid_backend* make_rowid_backend() SOCI_OVERRIDE;
empty_blob_backend* make_blob_backend(); empty_blob_backend* make_blob_backend() SOCI_OVERRIDE;
}; };
struct SOCI_EMPTY_DECL empty_backend_factory : backend_factory struct SOCI_EMPTY_DECL empty_backend_factory : backend_factory
{ {
empty_backend_factory() {} empty_backend_factory() {}
empty_session_backend* make_session(connection_parameters const& parameters) const; empty_session_backend* make_session(connection_parameters const& parameters) const SOCI_OVERRIDE;
}; };
extern SOCI_EMPTY_DECL empty_backend_factory const empty; extern SOCI_EMPTY_DECL empty_backend_factory const empty;
......
...@@ -25,14 +25,14 @@ public: ...@@ -25,14 +25,14 @@ public:
soci_error(soci_error const& e); soci_error(soci_error const& e);
soci_error& operator=(soci_error const& e); soci_error& operator=(soci_error const& e);
virtual ~soci_error() throw(); ~soci_error() throw() SOCI_OVERRIDE;
// Returns just the error message itself, without the context. // Returns just the error message itself, without the context.
std::string get_error_message() const; std::string get_error_message() const;
// Returns the full error message combining the message given to the ctor // Returns the full error message combining the message given to the ctor
// with all the available context records. // with all the available context records.
virtual char const* what() const throw(); char const* what() const throw() SOCI_OVERRIDE;
// This is used only by SOCI itself to provide more information about the // This is used only by SOCI itself to provide more information about the
// exception as it bubbles up. It can be called multiple times, with the // exception as it bubbles up. It can be called multiple times, with the
......
...@@ -49,7 +49,7 @@ public: ...@@ -49,7 +49,7 @@ public:
firebird_soci_error(std::string const & msg, firebird_soci_error(std::string const & msg,
ISC_STATUS const * status = 0); ISC_STATUS const * status = 0);
~firebird_soci_error() throw() {}; ~firebird_soci_error() throw() SOCI_OVERRIDE {};
std::vector<ISC_STATUS> status_; std::vector<ISC_STATUS> status_;
}; };
...@@ -67,14 +67,14 @@ struct firebird_standard_into_type_backend : details::standard_into_type_backend ...@@ -67,14 +67,14 @@ struct firebird_standard_into_type_backend : details::standard_into_type_backend
: statement_(st), data_(NULL), type_(), position_(0), buf_(NULL), indISCHolder_(0) : statement_(st), data_(NULL), type_(), position_(0), buf_(NULL), indISCHolder_(0)
{} {}
virtual void define_by_pos(int &position, void define_by_pos(int &position,
void *data, details::exchange_type type); void *data, details::exchange_type type) SOCI_OVERRIDE;
virtual void pre_fetch(); void pre_fetch() SOCI_OVERRIDE;
virtual void post_fetch(bool gotData, bool calledFromFetch, void post_fetch(bool gotData, bool calledFromFetch,
indicator *ind); indicator *ind) SOCI_OVERRIDE;
virtual void clean_up(); void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_; firebird_statement_backend &statement_;
virtual void exchangeData(); virtual void exchangeData();
...@@ -98,16 +98,16 @@ struct firebird_vector_into_type_backend : details::vector_into_type_backend ...@@ -98,16 +98,16 @@ struct firebird_vector_into_type_backend : details::vector_into_type_backend
: statement_(st), data_(NULL), type_(), position_(0), buf_(NULL), indISCHolder_(0) : statement_(st), data_(NULL), type_(), position_(0), buf_(NULL), indISCHolder_(0)
{} {}
virtual void define_by_pos(int &position, void define_by_pos(int &position,
void *data, details::exchange_type type); void *data, details::exchange_type type) SOCI_OVERRIDE;
virtual void pre_fetch(); void pre_fetch() SOCI_OVERRIDE;
virtual void post_fetch(bool gotData, indicator *ind); void post_fetch(bool gotData, indicator *ind) SOCI_OVERRIDE;
virtual void resize(std::size_t sz); void resize(std::size_t sz) SOCI_OVERRIDE;
virtual std::size_t size(); std::size_t size() SOCI_OVERRIDE;
virtual void clean_up(); void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_; firebird_statement_backend &statement_;
virtual void exchangeData(std::size_t row); virtual void exchangeData(std::size_t row);
...@@ -127,15 +127,15 @@ struct firebird_standard_use_type_backend : details::standard_use_type_backend ...@@ -127,15 +127,15 @@ struct firebird_standard_use_type_backend : details::standard_use_type_backend
blob_(NULL) blob_(NULL)
{} {}
virtual void bind_by_pos(int &position, void bind_by_pos(int &position,
void *data, details::exchange_type type, bool readOnly); void *data, details::exchange_type type, bool readOnly) SOCI_OVERRIDE;
virtual void bind_by_name(std::string const &name, void bind_by_name(std::string const &name,
void *data, details::exchange_type type, bool readOnly); void *data, details::exchange_type type, bool readOnly) SOCI_OVERRIDE;
virtual void pre_use(indicator const *ind); void pre_use(indicator const *ind) SOCI_OVERRIDE;
virtual void post_use(bool gotData, indicator *ind); void post_use(bool gotData, indicator *ind) SOCI_OVERRIDE;
virtual void clean_up(); void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_; firebird_statement_backend &statement_;
virtual void exchangeData(); virtual void exchangeData();
...@@ -162,16 +162,16 @@ struct firebird_vector_use_type_backend : details::vector_use_type_backend ...@@ -162,16 +162,16 @@ struct firebird_vector_use_type_backend : details::vector_use_type_backend
: statement_(st), data_(NULL), type_(), position_(0), buf_(NULL), indISCHolder_(0) : statement_(st), data_(NULL), type_(), position_(0), buf_(NULL), indISCHolder_(0)
{} {}
virtual void bind_by_pos(int &position, void bind_by_pos(int &position,
void *data, details::exchange_type type); void *data, details::exchange_type type) SOCI_OVERRIDE;
virtual void bind_by_name(std::string const &name, void bind_by_name(std::string const &name,
void *data, details::exchange_type type); void *data, details::exchange_type type) SOCI_OVERRIDE;
virtual void pre_use(indicator const *ind); void pre_use(indicator const *ind) SOCI_OVERRIDE;
virtual std::size_t size(); std::size_t size() SOCI_OVERRIDE;
virtual void clean_up(); void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_; firebird_statement_backend &statement_;
virtual void exchangeData(std::size_t row); virtual void exchangeData(std::size_t row);
...@@ -190,28 +190,28 @@ struct firebird_statement_backend : details::statement_backend ...@@ -190,28 +190,28 @@ struct firebird_statement_backend : details::statement_backend
{ {
firebird_statement_backend(firebird_session_backend &session); firebird_statement_backend(firebird_session_backend &session);
virtual void alloc(); void alloc() SOCI_OVERRIDE;
virtual void clean_up(); void clean_up() SOCI_OVERRIDE;
virtual void prepare(std::string const &query, void prepare(std::string const &query,
details::statement_type eType); details::statement_type eType) SOCI_OVERRIDE;
virtual exec_fetch_result execute(int number); exec_fetch_result execute(int number) SOCI_OVERRIDE;
virtual exec_fetch_result fetch(int number); exec_fetch_result fetch(int number) SOCI_OVERRIDE;
virtual long long get_affected_rows(); long long get_affected_rows() SOCI_OVERRIDE;
virtual int get_number_of_rows(); int get_number_of_rows() SOCI_OVERRIDE;
virtual std::string get_parameter_name(int index) const; std::string get_parameter_name(int index) const SOCI_OVERRIDE;
virtual std::string rewrite_for_procedure_call(std::string const &query); std::string rewrite_for_procedure_call(std::string const &query) SOCI_OVERRIDE;
virtual int prepare_for_describe(); int prepare_for_describe() SOCI_OVERRIDE;
virtual void describe_column(int colNum, data_type &dtype, void describe_column(int colNum, data_type &dtype,
std::string &columnName); std::string &columnName) SOCI_OVERRIDE;
virtual firebird_standard_into_type_backend * make_into_type_backend(); firebird_standard_into_type_backend * make_into_type_backend() SOCI_OVERRIDE;
virtual firebird_standard_use_type_backend * make_use_type_backend(); firebird_standard_use_type_backend * make_use_type_backend() SOCI_OVERRIDE;
virtual firebird_vector_into_type_backend * make_vector_into_type_backend(); firebird_vector_into_type_backend * make_vector_into_type_backend() SOCI_OVERRIDE;
virtual firebird_vector_use_type_backend * make_vector_use_type_backend(); firebird_vector_use_type_backend * make_vector_use_type_backend() SOCI_OVERRIDE;
firebird_session_backend &session_; firebird_session_backend &session_;
...@@ -257,15 +257,15 @@ struct firebird_blob_backend : details::blob_backend ...@@ -257,15 +257,15 @@ struct firebird_blob_backend : details::blob_backend
{ {
firebird_blob_backend(firebird_session_backend &session); firebird_blob_backend(firebird_session_backend &session);
~firebird_blob_backend(); ~firebird_blob_backend() SOCI_OVERRIDE;
virtual std::size_t get_len();