Basic support for passing postgresql uri on the commandline

This commit is contained in:
eelke 2025-02-17 18:09:19 +01:00
parent 4b4c95e57e
commit 4caccf1000
11 changed files with 453 additions and 192 deletions

View file

@ -6,6 +6,7 @@
#include <QMetaType>
#include <QUuid>
#include <QVector>
#include <map>
#include <vector>
#include <string>
@ -74,42 +75,42 @@ public:
const QString& name() const;
void setHost(const QString& host);
const QString& host() const;
QString host() const;
void setHostAddr(const QString& v);
const QString& hostAddr() const;
QString hostAddr() const;
void setPort(unsigned short port);
unsigned short port() const;
void setUser(const QString& v);
const QString& user() const;
QString user() const;
void setPassword(const QString& v);
const QString& password() const;
QString password() const;
void setDbname(const QString& v);
const QString& dbname() const;
QString dbname() const;
void setSslMode(SslMode m);
SslMode sslMode() const;
void setSslCert(const QString& v);
const QString& sslCert() const;
void setSslCert(const QString& v);
QString sslCert() const;
void setSslKey(const QString& v);
const QString& sslKey() const;
void setSslKey(const QString& v);
QString sslKey() const;
void setSslRootCert(const QString& v);
const QString& sslRootCert() const;
void setSslRootCert(const QString& v);
QString sslRootCert() const;
void setSslCrl(const QString& v);
const QString& sslCrl() const;
void setSslCrl(const QString& v);
QString sslCrl() const;
// const char * const * getKeywords() const;
// const char * const * getValues() const;
bool isSameDatabase(const ConnectionConfig &rhs) const;
// bool isSameDatabase(const ConnectionConfig &rhs) const;
void writeToEnvironment(QProcessEnvironment &env) const;
@ -131,26 +132,31 @@ public:
*/
static QString escapeConnectionStringValue(const QString &value);
QString connectionString() const;
void setParameter(const QString &name, const QString &value);
QString getParameter(const QString &name) const;
private:
QUuid m_uuid;
QString m_name;
QString m_host;
QString m_hostaddr;
uint16_t m_port = 5432;
QString m_name;
// QString m_host;
// QString m_hostaddr;
// uint16_t m_port = 5432;
QString m_user;
QString m_password; ///< Note this is not saved in the DB only the m_encodedPassword is safed.
QString m_dbname;
// QString m_user;
// QString m_password; ///< Note this is not saved in the DB only the m_encodedPassword is safed.
// QString m_dbname;
SslMode m_sslMode = SslMode::prefer;
QString m_sslCert;
QString m_sslKey;
QString m_sslRootCert;
QString m_sslCrl;
// SslMode m_sslMode = SslMode::prefer;
// QString m_sslCert;
// QString m_sslKey;
// QString m_sslRootCert;
// QString m_sslCrl;
QString m_applicationName;
// QString m_applicationName;
QByteArray m_encodedPassword;
std::unordered_map<QString, QString> m_parameters;
bool m_dirty = false;
ConnectionGroup* m_group = nullptr;