From 8f386c7d63d0d52c5fb05f0620024b31caf92f33 Mon Sep 17 00:00:00 2001 From: justBCHit <5959766-justBCHit@users.noreply.gitlab.com> Date: Wed, 13 May 2020 12:55:07 +0000 Subject: [PATCH] Added port selection support for PostgreSQL and MySQL for Indexer --- indexer/AddressIndexer.cpp | 10 +++++++--- indexer/README | 4 +++- support/indexer.conf | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/indexer/AddressIndexer.cpp b/indexer/AddressIndexer.cpp index fda09faa8..02a5734f1 100644 --- a/indexer/AddressIndexer.cpp +++ b/indexer/AddressIndexer.cpp @@ -31,10 +31,10 @@ namespace { -QString valueFromSettings(const QSettings &settings, const QString &key) { +QString valueFromSettings(const QSettings &settings, const QString &key, const QString &defvalue=QString()) { QVariant x = settings.value(QString("addressdb/") + key); - if (x.isNull()) - x = settings.value(key); + if (x.isNull()) x = settings.value(key); + if (x.isNull()) return defvalue; return x.toString(); } @@ -133,20 +133,24 @@ void AddressIndexer::loadSetting(const QSettings &settings) m_insertDb.setUserName(valueFromSettings(settings, "db_username")); m_insertDb.setPassword(valueFromSettings(settings, "db_password")); m_insertDb.setHostName(valueFromSettings(settings, "db_hostname")); + m_insertDb.setPort(valueFromSettings(settings, "db_port", "5432").toInt()); m_selectDb.setDatabaseName(valueFromSettings(settings, "db_database")); m_selectDb.setUserName(valueFromSettings(settings, "db_username")); m_selectDb.setPassword(valueFromSettings(settings, "db_password")); m_selectDb.setHostName(valueFromSettings(settings, "db_hostname")); + m_selectDb.setPort(valueFromSettings(settings, "db_port", "5432").toInt()); m_spec = new PostgresTables(); } else if (db == "QMYSQL") { m_insertDb.setDatabaseName(valueFromSettings(settings, "db_database")); m_insertDb.setUserName(valueFromSettings(settings, "db_username")); m_insertDb.setPassword(valueFromSettings(settings, "db_password")); m_insertDb.setHostName(valueFromSettings(settings, "db_hostname")); + m_insertDb.setPort(valueFromSettings(settings, "db_port", "3306").toInt()); m_selectDb.setDatabaseName(valueFromSettings(settings, "db_database")); m_selectDb.setUserName(valueFromSettings(settings, "db_username")); m_selectDb.setPassword(valueFromSettings(settings, "db_password")); m_selectDb.setHostName(valueFromSettings(settings, "db_hostname")); + m_selectDb.setPort(valueFromSettings(settings, "db_port", "3306").toInt()); m_spec = new MySQLTables(); } else if (db == "QSQLITE") { m_insertDb.setDatabaseName(m_basedir + "/addresses.db"); diff --git a/indexer/README b/indexer/README index 87e72d843..72b305fc1 100644 --- a/indexer/README +++ b/indexer/README @@ -52,10 +52,12 @@ enabled=true [addressdb] enabled=false # Indexer 'addressdb' requires a SQL server. -db_driver=QSQLITE +db_driver=QSQLITE # QPSQL / QMYSQL db_hostname=myServer db_database=flowee db_username=flowee_indexer +db_password=s3cr3t +db_port=5432 # The Hub server address, with optional port. [services] diff --git a/support/indexer.conf b/support/indexer.conf index 20dbefb59..b7aefc281 100644 --- a/support/indexer.conf +++ b/support/indexer.conf @@ -29,8 +29,10 @@ enabled=false # driver is taken from the QSQL libraries, as such you will only be able to # access drivers you have installed. # db_driver=QSQLITE - # db_driver=QPSQL +# db_driver=QMYSQL # db_hostname=myserver # db_database=flowee # db_username=flowee_indexer +# db_password=s3cr3t +# db_port=1234 -- GitLab