1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 14:57:44 +00:00

const correctness

This commit is contained in:
Mordred 2017-09-14 18:49:03 +02:00
parent 1495b263d9
commit b97162ba5d
2 changed files with 13 additions and 14 deletions

View file

@ -26,6 +26,8 @@ Core::Db::Connection::Connection( MySqlBase * pBase,
m_pBase( pBase ) m_pBase( pBase )
{ {
m_pRawCon = mysql_init( nullptr ); m_pRawCon = mysql_init( nullptr );
// Different mysql versions support different options, for now whatever was unsupporter here was commented out
// but left there.
for( auto entry : options ) for( auto entry : options )
{ {
switch( entry.first ) switch( entry.first )
@ -46,7 +48,7 @@ Core::Db::Connection::Connection( MySqlBase * pBase,
break; break;
// bool based options // bool based options
//case MYSQL_ENABLE_CLEARTEXT_PLUGIN: // case MYSQL_ENABLE_CLEARTEXT_PLUGIN:
// case MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS: // case MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS:
case MYSQL_OPT_COMPRESS: case MYSQL_OPT_COMPRESS:
case MYSQL_OPT_GUESS_CONNECTION: case MYSQL_OPT_GUESS_CONNECTION:
@ -65,7 +67,7 @@ Core::Db::Connection::Connection( MySqlBase * pBase,
break; break;
// string based options // string based options
//case MYSQL_DEFAULT_AUTH: // case MYSQL_DEFAULT_AUTH:
// case MYSQL_OPT_BIND: // case MYSQL_OPT_BIND:
// case MYSQL_OPT_SSL_CA: // case MYSQL_OPT_SSL_CA:
// case MYSQL_OPT_SSL_CAPATH: // case MYSQL_OPT_SSL_CAPATH:
@ -75,7 +77,7 @@ Core::Db::Connection::Connection( MySqlBase * pBase,
// case MYSQL_OPT_SSL_CRLPATH: // case MYSQL_OPT_SSL_CRLPATH:
// case MYSQL_OPT_SSL_KEY: // case MYSQL_OPT_SSL_KEY:
// case MYSQL_OPT_TLS_VERSION: // case MYSQL_OPT_TLS_VERSION:
//case MYSQL_PLUGIN_DIR: // case MYSQL_PLUGIN_DIR:
case MYSQL_READ_DEFAULT_FILE: case MYSQL_READ_DEFAULT_FILE:
case MYSQL_READ_DEFAULT_GROUP: case MYSQL_READ_DEFAULT_GROUP:
// case MYSQL_SERVER_PUBLIC_KEY: // case MYSQL_SERVER_PUBLIC_KEY:
@ -138,25 +140,26 @@ void Core::Db::Connection::close()
m_bConnected = false; m_bConnected = false;
} }
bool Core::Db::Connection::isClosed() bool Core::Db::Connection::isClosed() const
{ {
return !m_bConnected; return !m_bConnected;
} }
Core::Db::MySqlBase* Core::Db::Connection::getMySqlBase() Core::Db::MySqlBase* Core::Db::Connection::getMySqlBase() const
{ {
return m_pBase; return m_pBase;
} }
void Core::Db::Connection::setAutoCommit( bool autoCommit ) void Core::Db::Connection::setAutoCommit( bool autoCommit )
{ {
my_bool b = autoCommit == true ? 1 : 0; auto b = static_cast< my_bool >( autoCommit == true ? 1 : 0 );
if( mysql_autocommit( m_pRawCon, b ) != 0 ) if( mysql_autocommit( m_pRawCon, b ) != 0 )
throw std::runtime_error( "Connection::setAutoCommit failed!" ); throw std::runtime_error( "Connection::setAutoCommit failed!" );
} }
bool Core::Db::Connection::getAutoCommit() bool Core::Db::Connection::getAutoCommit()
{ {
// TODO: should be replaced with wrapped sql query function once available
std::string query("SELECT @@autocommit"); std::string query("SELECT @@autocommit");
auto res = mysql_real_query( m_pRawCon, query.c_str(), query.length() ); auto res = mysql_real_query( m_pRawCon, query.c_str(), query.length() );
@ -168,6 +171,6 @@ bool Core::Db::Connection::getAutoCommit()
uint32_t ac = atoi( row[0] ); uint32_t ac = atoi( row[0] );
return ac == 0 ? false : true; return ac != 0;
} }

View file

@ -34,20 +34,18 @@ namespace Db
virtual ~Connection(); virtual ~Connection();
void close(); void close();
bool isClosed(); bool isClosed() const;
void setOption( enum mysql_option option, const void *arg ); void setOption( enum mysql_option option, const void *arg );
void setOption( enum mysql_option option, uint32_t arg ); void setOption( enum mysql_option option, uint32_t arg );
void setOption( enum mysql_option option, const std::string& arg ); void setOption( enum mysql_option option, const std::string& arg );
MySqlBase *getMySqlBase(); MySqlBase *getMySqlBase() const;
void setAutoCommit( bool autoCommit ); void setAutoCommit( bool autoCommit );
//// implemented up to this point
bool getAutoCommit(); bool getAutoCommit();
//// implemented up to this point
void beginTransaction(); void beginTransaction();
void commitTransaction(); void commitTransaction();
@ -57,8 +55,6 @@ namespace Db
std::string escapeString( const std::string& ); std::string escapeString( const std::string& );
std::string getSchema(); std::string getSchema();
void setSchema( const std::string& catalog ); void setSchema( const std::string& catalog );