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
class SOCI_DB2_DECL db2_soci_error : public soci_error {
public:
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
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
: 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 post_fetch(bool gotData, bool calledFromFetch, indicator* ind);
void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, bool calledFromFetch, indicator* ind) SOCI_OVERRIDE;
void clean_up();
void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_;
......@@ -109,15 +109,15 @@ struct SOCI_DB2_DECL db2_vector_into_type_backend : details::vector_into_type_ba
: 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 post_fetch(bool gotData, indicator* ind);
void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, indicator* ind) SOCI_OVERRIDE;
void resize(std::size_t sz);
std::size_t size();
void resize(std::size_t sz) SOCI_OVERRIDE;
std::size_t size() SOCI_OVERRIDE;
void clean_up();
void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_;
......@@ -139,13 +139,13 @@ struct SOCI_DB2_DECL db2_standard_use_type_backend : details::standard_use_type_
: statement_(st),buf(NULL),ind(0)
{}
void bind_by_pos(int& position, void* data, details::exchange_type type, bool readOnly);
void bind_by_name(std::string const& name, 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) SOCI_OVERRIDE;
void pre_use(indicator const* ind);
void post_use(bool gotData, indicator* ind);
void pre_use(indicator const* ind) SOCI_OVERRIDE;
void post_use(bool gotData, indicator* ind) SOCI_OVERRIDE;
void clean_up();
void clean_up() SOCI_OVERRIDE;
db2_statement_backend& statement_;
......@@ -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)
: statement_(st),buf(NULL) {}
void bind_by_pos(int& position, void* data, details::exchange_type type);
void bind_by_name(std::string const& name, 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) 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_;
......@@ -192,27 +192,27 @@ struct SOCI_DB2_DECL db2_statement_backend : details::statement_backend
{
db2_statement_backend(db2_session_backend &session);
void alloc();
void clean_up();
void prepare(std::string const& query, details::statement_type eType);
void alloc() SOCI_OVERRIDE;
void clean_up() SOCI_OVERRIDE;
void prepare(std::string const& query, details::statement_type eType) SOCI_OVERRIDE;
exec_fetch_result execute(int number);
exec_fetch_result fetch(int number);
exec_fetch_result execute(int number) SOCI_OVERRIDE;
exec_fetch_result fetch(int number) SOCI_OVERRIDE;
long long get_affected_rows();
int get_number_of_rows();
std::string get_parameter_name(int index) const;
long long get_affected_rows() SOCI_OVERRIDE;
int get_number_of_rows() SOCI_OVERRIDE;
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();
void describe_column(int colNum, data_type& dtype, std::string& columnName);
int prepare_for_describe() SOCI_OVERRIDE;
void describe_column(int colNum, data_type& dtype, std::string& columnName) SOCI_OVERRIDE;
size_t column_size(int col);
db2_standard_into_type_backend* make_into_type_backend();
db2_standard_use_type_backend* make_use_type_backend();
db2_vector_into_type_backend* make_vector_into_type_backend();
db2_vector_use_type_backend* make_vector_use_type_backend();
db2_standard_into_type_backend* make_into_type_backend() SOCI_OVERRIDE;
db2_standard_use_type_backend* make_use_type_backend() SOCI_OVERRIDE;
db2_vector_into_type_backend* make_vector_into_type_backend() SOCI_OVERRIDE;
db2_vector_use_type_backend* make_vector_use_type_backend() SOCI_OVERRIDE;
db2_session_backend& session_;
......@@ -228,20 +228,20 @@ struct db2_rowid_backend : details::rowid_backend
{
db2_rowid_backend(db2_session_backend &session);
~db2_rowid_backend();
~db2_rowid_backend() SOCI_OVERRIDE;
};
struct db2_blob_backend : details::blob_backend
{
db2_blob_backend(db2_session_backend& session);
~db2_blob_backend();
~db2_blob_backend() SOCI_OVERRIDE;
std::size_t get_len();
std::size_t read(std::size_t offset, char* buf, std::size_t toRead);
std::size_t write(std::size_t offset, char const* buf, std::size_t toWrite);
std::size_t append(char const* buf, std::size_t toWrite);
void trim(std::size_t newLen);
std::size_t get_len() SOCI_OVERRIDE;
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) SOCI_OVERRIDE;
std::size_t append(char const* buf, std::size_t toWrite) SOCI_OVERRIDE;
void trim(std::size_t newLen) SOCI_OVERRIDE;
db2_session_backend& session_;
};
......@@ -250,21 +250,21 @@ struct db2_session_backend : details::session_backend
{
db2_session_backend(connection_parameters const& parameters);
~db2_session_backend();
~db2_session_backend() SOCI_OVERRIDE;
void begin();
void commit();
void rollback();
void begin() SOCI_OVERRIDE;
void commit() SOCI_OVERRIDE;
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();
db2_statement_backend* make_statement_backend();
db2_rowid_backend* make_rowid_backend();
db2_blob_backend* make_blob_backend();
db2_statement_backend* make_statement_backend() SOCI_OVERRIDE;
db2_rowid_backend* make_rowid_backend() SOCI_OVERRIDE;
db2_blob_backend* make_blob_backend() SOCI_OVERRIDE;
void parseConnectString(std::string const &);
void parseKeyVal(std::string const &);
......@@ -281,7 +281,7 @@ struct SOCI_DB2_DECL db2_backend_factory : backend_factory
{
db2_backend_factory() {}
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;
......
......@@ -39,12 +39,12 @@ struct SOCI_EMPTY_DECL empty_standard_into_type_backend : details::standard_into
: 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 post_fetch(bool gotData, bool calledFromFetch, indicator* ind);
void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, bool calledFromFetch, indicator* ind) SOCI_OVERRIDE;
void clean_up();
void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_;
};
......@@ -55,15 +55,15 @@ struct SOCI_EMPTY_DECL empty_vector_into_type_backend : details::vector_into_typ
: 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 post_fetch(bool gotData, indicator* ind);
void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, indicator* ind) SOCI_OVERRIDE;
void resize(std::size_t sz);
std::size_t size();
void resize(std::size_t sz) SOCI_OVERRIDE;
std::size_t size() SOCI_OVERRIDE;
void clean_up();
void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_;
};
......@@ -74,13 +74,13 @@ struct SOCI_EMPTY_DECL empty_standard_use_type_backend : details::standard_use_t
: statement_(st)
{}
void bind_by_pos(int& position, void* data, details::exchange_type type, bool readOnly);
void bind_by_name(std::string const& name, 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) SOCI_OVERRIDE;
void pre_use(indicator const* ind);
void post_use(bool gotData, indicator* ind);
void pre_use(indicator const* ind) SOCI_OVERRIDE;
void post_use(bool gotData, indicator* ind) SOCI_OVERRIDE;
void clean_up();
void clean_up() SOCI_OVERRIDE;
empty_statement_backend& statement_;
};
......@@ -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)
: statement_(st) {}
void bind_by_pos(int& position, void* data, details::exchange_type type);
void bind_by_name(std::string const& name, 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) 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_;
};
......@@ -107,26 +107,26 @@ struct SOCI_EMPTY_DECL empty_statement_backend : details::statement_backend
{
empty_statement_backend(empty_session_backend &session);
void alloc();
void clean_up();
void prepare(std::string const& query, details::statement_type eType);
void alloc() SOCI_OVERRIDE;
void clean_up() SOCI_OVERRIDE;
void prepare(std::string const& query, details::statement_type eType) SOCI_OVERRIDE;
exec_fetch_result execute(int number);
exec_fetch_result fetch(int number);
exec_fetch_result execute(int number) SOCI_OVERRIDE;
exec_fetch_result fetch(int number) SOCI_OVERRIDE;
long long get_affected_rows();
int get_number_of_rows();
std::string get_parameter_name(int index) const;
long long get_affected_rows() SOCI_OVERRIDE;
int get_number_of_rows() SOCI_OVERRIDE;
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();
void describe_column(int colNum, data_type& dtype, std::string& columnName);
int prepare_for_describe() SOCI_OVERRIDE;
void describe_column(int colNum, data_type& dtype, std::string& columnName) SOCI_OVERRIDE;
empty_standard_into_type_backend* make_into_type_backend();
empty_standard_use_type_backend* make_use_type_backend();
empty_vector_into_type_backend* make_vector_into_type_backend();
empty_vector_use_type_backend* make_vector_use_type_backend();
empty_standard_into_type_backend* make_into_type_backend() SOCI_OVERRIDE;
empty_standard_use_type_backend* make_use_type_backend() SOCI_OVERRIDE;
empty_vector_into_type_backend* make_vector_into_type_backend() SOCI_OVERRIDE;
empty_vector_use_type_backend* make_vector_use_type_backend() SOCI_OVERRIDE;
empty_session_backend& session_;
};
......@@ -135,20 +135,20 @@ struct empty_rowid_backend : details::rowid_backend
{
empty_rowid_backend(empty_session_backend &session);
~empty_rowid_backend();
~empty_rowid_backend() SOCI_OVERRIDE;
};
struct empty_blob_backend : details::blob_backend
{
empty_blob_backend(empty_session_backend& session);
~empty_blob_backend();
~empty_blob_backend() SOCI_OVERRIDE;
std::size_t get_len();
std::size_t read(std::size_t offset, char* buf, std::size_t toRead);
std::size_t write(std::size_t offset, char const* buf, std::size_t toWrite);
std::size_t append(char const* buf, std::size_t toWrite);
void trim(std::size_t newLen);
std::size_t get_len() SOCI_OVERRIDE;
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) SOCI_OVERRIDE;
std::size_t append(char const* buf, std::size_t toWrite) SOCI_OVERRIDE;
void trim(std::size_t newLen) SOCI_OVERRIDE;
empty_session_backend& session_;
};
......@@ -157,27 +157,27 @@ struct empty_session_backend : details::session_backend
{
empty_session_backend(connection_parameters const& parameters);
~empty_session_backend();
~empty_session_backend() SOCI_OVERRIDE;
void begin();
void commit();
void rollback();
void begin() SOCI_OVERRIDE;
void commit() SOCI_OVERRIDE;
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();
empty_statement_backend* make_statement_backend();
empty_rowid_backend* make_rowid_backend();
empty_blob_backend* make_blob_backend();
empty_statement_backend* make_statement_backend() SOCI_OVERRIDE;
empty_rowid_backend* make_rowid_backend() SOCI_OVERRIDE;
empty_blob_backend* make_blob_backend() SOCI_OVERRIDE;
};
struct SOCI_EMPTY_DECL empty_backend_factory : 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;
......
......@@ -25,14 +25,14 @@ public:
soci_error(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.
std::string get_error_message() const;
// Returns the full error message combining the message given to the ctor
// 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
// exception as it bubbles up. It can be called multiple times, with the
......
......@@ -49,7 +49,7 @@ public:
firebird_soci_error(std::string const & msg,
ISC_STATUS const * status = 0);
~firebird_soci_error() throw() {};
~firebird_soci_error() throw() SOCI_OVERRIDE {};
std::vector<ISC_STATUS> status_;
};
......@@ -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)
{}
virtual 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;
virtual void pre_fetch();
virtual void post_fetch(bool gotData, bool calledFromFetch,
indicator *ind);
void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, bool calledFromFetch,
indicator *ind) SOCI_OVERRIDE;
virtual void clean_up();
void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_;
virtual void exchangeData();
......@@ -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)
{}
virtual 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;
virtual void pre_fetch();
virtual void post_fetch(bool gotData, indicator *ind);
void pre_fetch() SOCI_OVERRIDE;
void post_fetch(bool gotData, indicator *ind) SOCI_OVERRIDE;
virtual void resize(std::size_t sz);
virtual std::size_t size();
void resize(std::size_t sz) SOCI_OVERRIDE;
std::size_t size() SOCI_OVERRIDE;
virtual void clean_up();
void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_;
virtual void exchangeData(std::size_t row);
......@@ -127,15 +127,15 @@ struct firebird_standard_use_type_backend : details::standard_use_type_backend
blob_(NULL)
{}
virtual void bind_by_pos(int &position,
void *data, details::exchange_type type, bool readOnly);
virtual void bind_by_name(std::string const &name,
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) SOCI_OVERRIDE;
virtual void pre_use(indicator const *ind);
virtual void post_use(bool gotData, indicator *ind);
void pre_use(indicator const *ind) SOCI_OVERRIDE;
void post_use(bool gotData, indicator *ind) SOCI_OVERRIDE;
virtual void clean_up();
void clean_up() SOCI_OVERRIDE;
firebird_statement_backend &statement_;
virtual void exchangeData();
......@@ -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)
{}
virtual void bind_by_pos(int &position,
void *data, details::exchange_type type);
virtual void bind_by_name(std::string const &name,
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) 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_;
virtual void exchangeData(std::size_t row);
......@@ -190,28 +190,28 @@ struct firebird_statement_backend : details::statement_backend
{
firebird_statement_backend(firebird_session_backend &session);
virtual void alloc();
virtual void clean_up();
virtual void prepare(std::string const &query,
details::statement_type eType);
void alloc() SOCI_OVERRIDE;
void clean_up() SOCI_OVERRIDE;
void prepare(std::string const &query,
details::statement_type eType) SOCI_OVERRIDE;
virtual exec_fetch_result execute(int number);
virtual exec_fetch_result fetch(int number);
exec_fetch_result execute(int number) SOCI_OVERRIDE;
exec_fetch_result fetch(int number) SOCI_OVERRIDE;
virtual long long get_affected_rows();
virtual int get_number_of_rows();
virtual std::string get_parameter_name(int index) const;
long long get_affected_rows() SOCI_OVERRIDE;
int get_number_of_rows() SOCI_OVERRIDE;
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();
virtual void describe_column(int colNum, data_type &dtype,
std::string &columnName);
int prepare_for_describe() SOCI_OVERRIDE;
void describe_column(int colNum, data_type &dtype,
std::string &columnName) SOCI_OVERRIDE;
virtual firebird_standard_into_type_backend * make_into_type_backend();
virtual firebird_standard_use_type_backend * make_use_type_backend();
virtual firebird_vector_into_type_backend * make_vector_into_type_backend();
virtual firebird_vector_use_type_backend * make_vector_use_type_backend();
firebird_standard_into_type_backend * make_into_type_backend() SOCI_OVERRIDE;
firebird_standard_use_type_backend * make_use_type_backend() SOCI_OVERRIDE;
firebird_vector_into_type_backend * make_vector_into_type_backend() SOCI_OVERRIDE;
firebird_vector_use_type_backend * make_vector_use_type_backend() SOCI_OVERRIDE;
firebird_session_backend &session_;
......@@ -257,15 +257,15 @@ struct firebird_blob_backend : details::blob_backend
{
firebird_blob_backend(firebird_session_backend &session);
~firebird_blob_backend();
~firebird_blob_backend() SOCI_OVERRIDE;
virtual std::size_t get_len();
virtual std::size_t read(std::size_t offset, char *buf,
std::size_t toRead);
virtual std::size_t write(std::size_t offset, char const *buf,
std::size_t toWrite);
virtual std::size_t append(char const *buf, std::size_t toWrite);
virtual void trim(std::size_t newLen);
std::size_t get_len() SOCI_OVERRIDE;
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) SOCI_OVERRIDE;
std::size_t append(char const *buf, std::size_t toWrite) SOCI_OVERRIDE;
void trim(std::size_t newLen) SOCI_OVERRIDE;
firebird_session_backend &session_;
......@@ -308,24 +308,24 @@ struct firebird_session_backend : details::session_backend
{
firebird_session_backend(connection_parameters const & parameters);
~firebird_session_backend();
~firebird_session_backend() SOCI_OVERRIDE;
virtual void begin();
virtual void commit();
virtual void rollback();
void begin() SOCI_OVERRIDE;
void commit() SOCI_OVERRIDE;
void rollback() SOCI_OVERRIDE;
virtual bool get_next_sequence_value(session & s,
std::string const & sequence, long & value);
bool get_next_sequence_value(session & s,
std::string const & sequence, long & value) SOCI_OVERRIDE;
virtual std::string get_dummy_from_table() const { return "rdb$database"; }
std::string get_dummy_from_table() const SOCI_OVERRIDE { return "rdb$database"; }
virtual std::string get_backend_name() const { return "firebird"; }
std::string get_backend_name() const SOCI_OVERRIDE { return "firebird"; }
void cleanUp();
virtual firebird_statement_backend * make_statement_backend();
virtual details::rowid_backend* make_rowid_backend();
virtual firebird_blob_backend * make_blob_backend();
firebird_statement_backend * make_statement_backend() SOCI_OVERRIDE;
details::rowid_backend* make_rowid_backend() SOCI_OVERRIDE;
firebird_blob_backend * make_blob_backend() SOCI_OVERRIDE;
bool get_option_decimals_as_strings() { return decimals_as_strings_; }
......@@ -345,8 +345,8 @@ private:
struct firebird_backend_factory : backend_factory
{
firebird_backend_factory() {}
virtual firebird_session_backend * make_session(
connection_parameters const & parameters) const;
firebird_session_backend * make_session(
connection_parameters const & parameters) const SOCI_OVERRIDE;
};
extern SOCI_FIREBIRD_DECL firebird_backend_factory const firebird;
......
......@@ -57,18 +57,18 @@ public:
standard_into_type(void * data, exchange_type type, indicator & ind)
: data_(data), type_(type), ind_(&ind), backEnd_(NULL) {}
virtual ~standard_into_type();
~standard_into_type() SOCI_OVERRIDE;
protected:
virtual void post_fetch(bool gotData, bool calledFromFetch);
void post_fetch(bool gotData, bool calledFromFetch) SOCI_OVERRIDE;
private:
virtual void define(statement_impl & st, int & position);
virtual void pre_exec(int num);
virtual void pre_fetch();
virtual void clean_up();
void define(statement_impl & st, int & position) SOCI_OVERRIDE;
void pre_exec(int num) SOCI_OVERRIDE;
void pre_fetch() SOCI_OVERRIDE;
void clean_up() SOCI_OVERRIDE;
virtual std::size_t size() const { return 1; }
std::size_t size() const SOCI_OVERRIDE { return 1; }
// conversion hook (from base type to arbitrary user type)
virtual void convert_from_base() {}
......@@ -104,17 +104,17 @@ public:
: data_(data), type_(type), indVec_(&ind),
begin_(begin), end_(end), backEnd_(NULL) {}
~vector_into_type();
~vector_into_type() SOCI_OVERRIDE;
protected:
virtual void post_fetch(bool gotData, bool calledFromFetch);
void post_fetch(bool gotData, bool calledFromFetch) SOCI_OVERRIDE;
virtual void define(statement_impl & st, int & position);
virtual void pre_exec(int num);
virtual void pre_fetch();
virtual void clean_up();
virtual void resize(std::size_t sz);
virtual std::size_t size() const;
void define(statement_impl & st, int & position) SOCI_OVERRIDE;
void pre_exec(int num) SOCI_OVERRIDE;
void pre_fetch() SOCI_OVERRIDE;
void clean_up() SOCI_OVERRIDE;
void resize(std::size_t sz) SOCI_OVERRIDE;
std::size_t size() const SOCI_OVERRIDE;
void * data_;
exchange_type type_;
......@@ -149,16 +149,16 @@ public:
into_type(std::vector<T> & v)
: vector_into_type(&v,
static_cast<exchange_type>(exchange_traits<T>::x_type)) {}
into_type(std::vector<T> & v, std::size_t begin, std::size_t * end)
: vector_into_type(&v,
static_cast<exchange_type>(exchange_traits<T>::x_type),
begin, end) {}
into_type(std::vector<T> & v, std::vector<indicator> & ind)
: vector_into_type(&v,
static_cast<exchange_type>(exchange_traits<T>::x_type), <