allow to use host database connection parameter

Add config option:
db_host (default empty) - name of host to connect to
This commit is contained in:
2022-04-28 06:12:44 +02:00
parent 98c1e8daad
commit c6c50a5d23
6 changed files with 51 additions and 16 deletions

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2010-2014, Tomasz Sowa
* Copyright (c) 2010-2022, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -68,6 +68,7 @@ void DbConn::SetConnParam(const std::wstring & conn_string)
{
db_conn_string = conn_string;
db_host.clear();
db_hostaddr.clear();
db_port.clear();
db_database.clear();
db_user.clear();
@@ -75,14 +76,16 @@ void DbConn::SetConnParam(const std::wstring & conn_string)
}
void DbConn::SetConnParam(const std::wstring & host, const std::wstring & port, const std::wstring & d, const std::wstring & u, const std::wstring & p)
void DbConn::SetConnParam(const std::wstring & host, const std::wstring & hostaddr, const std::wstring & port,
const std::wstring & database, const std::wstring & user, const std::wstring & pass)
{
db_conn_string.clear();
db_host = host;
db_hostaddr = hostaddr;
db_port = port;
db_database = d;
db_user = u;
db_pass = p;
db_database = database;
db_user = user;
db_pass = pass;
}
@@ -106,12 +109,17 @@ void DbConn::Connect()
if( !db_host.empty() )
{
conn_info << R(L"hostaddr=") << db_host;
conn_info << R(L" host=") << db_host;
}
if( !db_hostaddr.empty() )
{
conn_info << R(L" hostaddr=") << db_hostaddr;
}
if( !db_port.empty() )
{
conn_info << R(L"port=") << db_port;
conn_info << R(L" port=") << db_port;
}
}

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2010-2018, Tomasz Sowa
* Copyright (c) 2010-2022, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -54,7 +54,8 @@ public:
~DbConn();
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 SetConnParam(const std::wstring & host, const std::wstring & hostaddr, const std::wstring & port,
const std::wstring & database, const std::wstring & user, const std::wstring & pass);
void Connect();
void WaitForConnection();
void Close();
@@ -68,7 +69,7 @@ private:
PGconn * pg_conn;
std::wstring db_conn_string;
std::wstring db_host, db_port, db_database, db_user, db_pass;
std::wstring db_host, db_hostaddr, db_port, db_database, db_user, db_pass;
DbTextStream conn_info;
// a helper method for escaping strings