//-----------------------------------------------------------------------------
MYSQL_STORE_SETTINGS::MYSQL_STORE_SETTINGS()
: settings(NULL)
+ , dbPort(0)
{
}
//-----------------------------------------------------------------------------
ParseParam(s.moduleParams, "dbhost", dbHost) < 0)
return -1;
+// not required
+std::string dbPortAsString;
+if (ParseParam(s.moduleParams, "port", dbPortAsString) == 0 ||
+ ParseParam(s.moduleParams, "dbport", dbPortAsString) == 0)
+{
+ if (GetInt<unsigned int>(dbPortAsString, &dbPort, 0) != 0)
+ {
+ errorStr = "Can't parse db port from string: \"" + dbPortAsString + "\"\n";
+ return -1;
+ }
+}
+
return 0;
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
MYSQL_STORE::MYSQL_STORE()
- : version("mysql_store v.0.67"),
+ : version("mysql_store v.0.68"),
schemaVersion(0),
logger(STG::PluginLogger::get("store_mysql"))
{
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);
}
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);
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);
std::string dbPass;
std::string dbName;
std::string dbHost;
+ unsigned int dbPort;
};
//-----------------------------------------------------------------------------
class MYSQL_STORE: public STG::Store