From d12e0d85ae649d5c903a61c1150f4e6c48f96309 Mon Sep 17 00:00:00 2001 From: bobr-kun Date: Mon, 1 Feb 2021 16:26:56 +0200 Subject: [PATCH] MySQL custom port implemented --- .../plugins/store/mysql/mysql_store.cpp | 16 ++++++++++++++-- .../stargazer/plugins/store/mysql/mysql_store.h | 2 ++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/projects/stargazer/plugins/store/mysql/mysql_store.cpp b/projects/stargazer/plugins/store/mysql/mysql_store.cpp index cef72671..48be4aa6 100644 --- a/projects/stargazer/plugins/store/mysql/mysql_store.cpp +++ b/projects/stargazer/plugins/store/mysql/mysql_store.cpp @@ -113,6 +113,7 @@ return msc.GetPlugin(); //----------------------------------------------------------------------------- MYSQL_STORE_SETTINGS::MYSQL_STORE_SETTINGS() : settings(NULL) + , dbPort(0) { } //----------------------------------------------------------------------------- @@ -149,6 +150,17 @@ if (ParseParam(s.moduleParams, "server", dbHost) < 0 && ParseParam(s.moduleParams, "dbhost", dbHost) < 0) return -1; +std::string dbPortAsString; +if (ParseParam(s.moduleParams, "port", dbPortAsString) == 0 || + ParseParam(s.moduleParams, "dbport", dbPortAsString) == 0) +{ + if (GetInt(dbPortAsString, &dbPort, 0) != 0) + { + errorStr = "Can't parse db port from string: \"" + dbPortAsString + "\"\n"; + return -1; + } +} + return 0; } //----------------------------------------------------------------------------- @@ -198,7 +210,7 @@ else MYSQL * sock; if (!(sock = mysql_real_connect(&mysql,storeSettings.GetDBHost().c_str(), storeSettings.GetDBUser().c_str(),storeSettings.GetDBPassword().c_str(), - 0,0,NULL,0))) + 0,storeSettings.GetDBPort(),NULL,0))) { errorStr = "Couldn't connect to mysql engine! With error:\n"; errorStr += mysql_error(&mysql); @@ -2139,7 +2151,7 @@ MYSQL * MYSQL_STORE::MysqlConnect() const { } if (!(sock = mysql_real_connect(sock,storeSettings.GetDBHost().c_str(), storeSettings.GetDBUser().c_str(),storeSettings.GetDBPassword().c_str(), - 0,0,NULL,0))) + 0,storeSettings.GetDBPort(),NULL,0))) { errorStr = "Couldn't connect to mysql engine! With error:\n"; errorStr += mysql_error(sock); diff --git a/projects/stargazer/plugins/store/mysql/mysql_store.h b/projects/stargazer/plugins/store/mysql/mysql_store.h index d7ed130e..2bb4815e 100644 --- a/projects/stargazer/plugins/store/mysql/mysql_store.h +++ b/projects/stargazer/plugins/store/mysql/mysql_store.h @@ -31,6 +31,7 @@ public: const std::string & GetDBPassword() const { return dbPass; } const std::string & GetDBHost() const { return dbHost; } const std::string & GetDBName() const { return dbName; } + unsigned int GetDBPort() const { return dbPort; } private: MYSQL_STORE_SETTINGS(const MYSQL_STORE_SETTINGS & rvalue); @@ -47,6 +48,7 @@ private: std::string dbPass; std::string dbName; std::string dbHost; + unsigned int dbPort; }; //----------------------------------------------------------------------------- class MYSQL_STORE: public STORE -- 2.44.2