allow to use db_hostaddr, db_port or db_conn_string config parameters to connect to PostgreSQL
This commit is contained in:
@@ -64,9 +64,22 @@ PGconn * DbConn::GetPgConn()
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbConn::SetConnParam(const std::wstring & d, const std::wstring & u, const std::wstring & p)
|
||||
void DbConn::SetConnParam(const std::wstring & conn_string)
|
||||
{
|
||||
db_conn_string = conn_string;
|
||||
db_host.clear();
|
||||
db_port.clear();
|
||||
db_database.clear();
|
||||
db_user.clear();
|
||||
db_pass.clear();
|
||||
}
|
||||
|
||||
|
||||
void DbConn::SetConnParam(const std::wstring & host, const std::wstring & port, const std::wstring & d, const std::wstring & u, const std::wstring & p)
|
||||
{
|
||||
db_conn_string.clear();
|
||||
db_host = host;
|
||||
db_port = port;
|
||||
db_database = d;
|
||||
db_user = u;
|
||||
db_pass = p;
|
||||
@@ -81,9 +94,26 @@ void DbConn::Connect()
|
||||
conn_info.Clear();
|
||||
conn_info.SetExtented(false);
|
||||
|
||||
conn_info << R("dbname=") << db_database
|
||||
<< R(" user=") << db_user
|
||||
<< R(" password=") << db_pass;
|
||||
if( !db_conn_string.empty() )
|
||||
{
|
||||
conn_info << R(db_conn_string);
|
||||
}
|
||||
else
|
||||
{
|
||||
conn_info << R("dbname=") << db_database
|
||||
<< R(" user=") << db_user
|
||||
<< R(" password=") << db_pass;
|
||||
|
||||
if( !db_host.empty() )
|
||||
{
|
||||
conn_info << R(L"hostaddr=") << db_host;
|
||||
}
|
||||
|
||||
if( !db_port.empty() )
|
||||
{
|
||||
conn_info << R(L"port=") << db_port;
|
||||
}
|
||||
}
|
||||
|
||||
pg_conn = PQconnectdb(conn_info.CStr());
|
||||
|
||||
|
@@ -53,7 +53,8 @@ public:
|
||||
DbConn();
|
||||
~DbConn();
|
||||
|
||||
void SetConnParam(const std::wstring & database, const std::wstring & user, const std::wstring & pass);
|
||||
void SetConnParam(const std::wstring & conn_string);
|
||||
void SetConnParam(const std::wstring & host, const std::wstring & port, const std::wstring & database, const std::wstring & user, const std::wstring & pass);
|
||||
void Connect();
|
||||
void WaitForConnection();
|
||||
void Close();
|
||||
@@ -66,7 +67,8 @@ private:
|
||||
void LogConnectionSocket();
|
||||
|
||||
PGconn * pg_conn;
|
||||
std::wstring db_database, db_user, db_pass;
|
||||
std::wstring db_conn_string;
|
||||
std::wstring db_host, db_port, db_database, db_user, db_pass;
|
||||
DbTextStream conn_info;
|
||||
|
||||
// a helper method for escaping strings
|
||||
|
Reference in New Issue
Block a user