diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/database_mariadb.cc | 10 | ||||
| -rw-r--r-- | src/database_mysql.cc | 6 | ||||
| -rw-r--r-- | src/database_postgres.cc | 37 | ||||
| -rw-r--r-- | src/querymanager.cc | 58 | ||||
| -rw-r--r-- | src/querymanager.hh | 12 |
5 files changed, 46 insertions, 77 deletions
diff --git a/src/database_mariadb.cc b/src/database_mariadb.cc new file mode 100644 index 0000000..121f676 --- /dev/null +++ b/src/database_mariadb.cc @@ -0,0 +1,10 @@ +#if DATABASE_MARIADB +#include "querymanager.hh" + +// TODO(fusion): If we decide to implement MySQL, we should use MariaDB instead. +// It is a better alternative overall, and targeting a single database system +// should help us leverage its strongest features, which may not always be +// supported by both. +#error "MariaDB is not currently supported." + +#endif //DATABASE_MARIADB diff --git a/src/database_mysql.cc b/src/database_mysql.cc deleted file mode 100644 index 583bb7d..0000000 --- a/src/database_mysql.cc +++ /dev/null @@ -1,6 +0,0 @@ -#if DATABASE_MYSQL -#include "querymanager.hh" - -// TODO - -#endif //DATABASE_MYSQL diff --git a/src/database_postgres.cc b/src/database_postgres.cc index 3b19914..b53e780 100644 --- a/src/database_postgres.cc +++ b/src/database_postgres.cc @@ -476,7 +476,7 @@ static int GetResultByteA(PGresult *Result, int Row, int Col, uint8 *Buffer, int return Size; } -#if 1 +#if 0 // NOTE(fusion): DO NOT REMOVE. It is currently not being used so it's switched // off to avoid compiler warnings. static int GetResultIPAddress(PGresult *Result, int Row, int Col){ @@ -1271,41 +1271,6 @@ TDatabase *DatabaseOpen(void){ return NULL; } -#if 0 - { - // TODO(fusion): REMOVE. This is for testing query input/output, to make sure - // they're consitent across different formats (text/binary). - const char *Stmt = PrepareQuery(Database, - "SELECT NULL::BOOLEAN, NULL::INTEGER, NULL::TEXT, NULL::BYTEA," - " NULL::INET, NULL::TIMESTAMP, NULL::INTERVAL"); - ASSERT(Stmt != NULL); - - for(int i = 0; i <= 1; i += 1) - for(int j = 0; j <= 1; j += 1){ - LOG("TEST (%d, %d)", i, j); - ParamBuffer Params; - ParamBegin(&Params, 0, i); - PGresult *Result = PQexecPrepared(Database->Handle, Stmt, Params.NumParams, - Params.Values, Params.Lengths, Params.Formats, j); - AutoResultClear ResultGuard(Result); - if(PQresultStatus(Result) == PGRES_TUPLES_OK){ - LOG("0: %d", GetResultBool(Result, 0, 0)); - LOG("1: %d", GetResultInt(Result, 0, 1)); - LOG("2: %s", GetResultText(Result, 0, 2)); - LOG("3: %d", GetResultByteA(Result, 0, 3, NULL, 0)); - LOG("4: %d", GetResultIPAddress(Result, 0, 4)); - LOG("5: %d", GetResultTimestamp(Result, 0, 5)); - LOG("6: %d", GetResultInterval(Result, 0, 6)); - }else{ - LOG_ERR("Failed to execute query: %s", PQerrorMessage(Database->Handle)); - } - } - - DatabaseClose(Database); - return NULL; - } -#endif - return Database; } diff --git a/src/querymanager.cc b/src/querymanager.cc index bac3c74..42a4408 100644 --- a/src/querymanager.cc +++ b/src/querymanager.cc @@ -704,20 +704,20 @@ bool ReadConfig(const char *FileName, TConfig *Config){ ParseStringBuf(Config->PostgreSQL.SSLRootCert, Val); }else if(StringEqCI(Key, "PostgreSQL.MaxCachedStatements")){ ParseInteger(&Config->PostgreSQL.MaxCachedStatements, Val); - }else if(StringEqCI(Key, "MySQL.Host")){ - ParseStringBuf(Config->MySQL.Host, Val); - }else if(StringEqCI(Key, "MySQL.Port")){ - ParseStringBuf(Config->MySQL.Port, Val); - }else if(StringEqCI(Key, "MySQL.DBName")){ - ParseStringBuf(Config->MySQL.DBName, Val); - }else if(StringEqCI(Key, "MySQL.User")){ - ParseStringBuf(Config->MySQL.User, Val); - }else if(StringEqCI(Key, "MySQL.Password")){ - ParseStringBuf(Config->MySQL.Password, Val); - }else if(StringEqCI(Key, "MySQL.UnixSocket")){ - ParseStringBuf(Config->MySQL.UnixSocket, Val); - }else if(StringEqCI(Key, "MySQL.MaxCachedStatements")){ - ParseInteger(&Config->MySQL.MaxCachedStatements, Val); + }else if(StringEqCI(Key, "MariaDB.Host")){ + ParseStringBuf(Config->MariaDB.Host, Val); + }else if(StringEqCI(Key, "MariaDB.Port")){ + ParseStringBuf(Config->MariaDB.Port, Val); + }else if(StringEqCI(Key, "MariaDB.DBName")){ + ParseStringBuf(Config->MariaDB.DBName, Val); + }else if(StringEqCI(Key, "MariaDB.User")){ + ParseStringBuf(Config->MariaDB.User, Val); + }else if(StringEqCI(Key, "MariaDB.Password")){ + ParseStringBuf(Config->MariaDB.Password, Val); + }else if(StringEqCI(Key, "MariaDB.UnixSocket")){ + ParseStringBuf(Config->MariaDB.UnixSocket, Val); + }else if(StringEqCI(Key, "MariaDB.MaxCachedStatements")){ + ParseInteger(&Config->MariaDB.MaxCachedStatements, Val); }else if(StringEqCI(Key, "QueryManagerPort")){ ParseInteger(&Config->QueryManagerPort, Val); }else if(StringEqCI(Key, "QueryManagerPassword")){ @@ -791,14 +791,14 @@ int main(int argc, const char **argv){ StringBufCopy(g_Config.PostgreSQL.SSLRootCert, ""); g_Config.PostgreSQL.MaxCachedStatements = 100; - // MySQL/MariaDB Config - StringBufCopy(g_Config.MySQL.Host, "localhost"); - StringBufCopy(g_Config.MySQL.Port, "3306"); - StringBufCopy(g_Config.MySQL.DBName, "tibia"); - StringBufCopy(g_Config.MySQL.User, "tibia"); - StringBufCopy(g_Config.MySQL.Password, ""); - StringBufCopy(g_Config.MySQL.UnixSocket, ""); - g_Config.MySQL.MaxCachedStatements = 100; + // MariaDB Config + StringBufCopy(g_Config.MariaDB.Host, "localhost"); + StringBufCopy(g_Config.MariaDB.Port, "3306"); + StringBufCopy(g_Config.MariaDB.DBName, "tibia"); + StringBufCopy(g_Config.MariaDB.User, "tibia"); + StringBufCopy(g_Config.MariaDB.Password, ""); + StringBufCopy(g_Config.MariaDB.UnixSocket, ""); + g_Config.MariaDB.MaxCachedStatements = 100; // Connection Config g_Config.QueryManagerPort = 7174; @@ -830,13 +830,13 @@ int main(int argc, const char **argv){ LOG("PostgreSQL sslmode: \"%s\"", g_Config.PostgreSQL.SSLMode); LOG("PostgreSQL sslrootcert: \"%s\"", g_Config.PostgreSQL.SSLRootCert); LOG("PostgreSQL max cached statements: %d", g_Config.PostgreSQL.MaxCachedStatements); -#elif DATABASE_MYSQL - LOG("MySQL host: \"%s\"", g_Config.MySQL.Host); - LOG("MySQL port: \"%s\"", g_Config.MySQL.Port); - LOG("MySQL dbname: \"%s\"", g_Config.MySQL.DBName); - LOG("MySQL user: \"%s\"", g_Config.MySQL.User); - LOG("MySQL unix socket: \"%s\"", g_Config.MySQL.UnixSocket); - LOG("MySQL max cached statements: %d", g_Config.MySQL.MaxCachedStatements); +#elif DATABASE_MARIADB + LOG("MariaDB host: \"%s\"", g_Config.MariaDB.Host); + LOG("MariaDB port: \"%s\"", g_Config.MariaDB.Port); + LOG("MariaDB dbname: \"%s\"", g_Config.MariaDB.DBName); + LOG("MariaDB user: \"%s\"", g_Config.MariaDB.User); + LOG("MariaDB unix socket: \"%s\"", g_Config.MariaDB.UnixSocket); + LOG("MariaDB max cached statements: %d", g_Config.MariaDB.MaxCachedStatements); #endif LOG("Query manager port: %d", g_Config.QueryManagerPort); LOG("Query worker threads: %d", g_Config.QueryWorkerThreads); diff --git a/src/querymanager.hh b/src/querymanager.hh index dcf9271..b652e74 100644 --- a/src/querymanager.hh +++ b/src/querymanager.hh @@ -76,9 +76,9 @@ typedef size_t usize; TRAP(); \ }while(0) -#if (DATABASE_SQLITE + DATABASE_POSTGRESQL + DATABASE_MYSQL) == 0 +#if (DATABASE_SQLITE + DATABASE_POSTGRESQL + DATABASE_MARIADB) == 0 # error "No database system defined." -#elif (DATABASE_SQLITE + DATABASE_POSTGRESQL + DATABASE_MYSQL) > 1 +#elif (DATABASE_SQLITE + DATABASE_POSTGRESQL + DATABASE_MARIADB) > 1 # error "Multiple database systems defined." #endif @@ -86,8 +86,8 @@ typedef size_t usize; # define DATABASE_SYSTEM_NAME "SQLite" #elif DATABASE_POSTGRESQL # define DATABASE_SYSTEM_NAME "PostgreSQL" -#elif DATABASE_MYSQL -# define DATABASE_SYSTEM_NAME "MySQL" +#elif DATABASE_MARIADB +# define DATABASE_SYSTEM_NAME "MariaDB" #endif struct TConfig{ @@ -117,7 +117,7 @@ struct TConfig{ int MaxCachedStatements; } PostgreSQL; - // MySQL/MariaDB Config + // MariaDB Config struct{ char Host[100]; char Port[30]; @@ -126,7 +126,7 @@ struct TConfig{ char Password[30]; char UnixSocket[100]; int MaxCachedStatements; - } MySQL; + } MariaDB; // Connection Config int QueryManagerPort; |
