From 7a0a83bb20eb644045e005b82fdafa12186e9a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Sun, 31 Jul 2022 22:14:50 +0200 Subject: [PATCH] Fix compilation adding constructor for 'incoming_servers_t' A constructor is required to overcome C++11 limitation of type no longer being an aggregate due to default member initialization. --- include/proxysql_admin.h | 3 +++ lib/ProxySQL_Admin.cpp | 16 ++++++++++++++++ lib/ProxySQL_Cluster.cpp | 4 ++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/include/proxysql_admin.h b/include/proxysql_admin.h index e0bdd1dcc..56c4264cc 100644 --- a/include/proxysql_admin.h +++ b/include/proxysql_admin.h @@ -122,6 +122,9 @@ struct incoming_servers_t { SQLite3_result* incoming_group_replication_hostgroups = NULL; SQLite3_result* incoming_galera_hostgroups = NULL; SQLite3_result* incoming_aurora_hostgroups = NULL; + + incoming_servers_t(); + incoming_servers_t(SQLite3_result*, SQLite3_result*, SQLite3_result*, SQLite3_result*, SQLite3_result*); }; class ProxySQL_Admin { diff --git a/lib/ProxySQL_Admin.cpp b/lib/ProxySQL_Admin.cpp index f8eb2289a..e3cc1b4b0 100644 --- a/lib/ProxySQL_Admin.cpp +++ b/lib/ProxySQL_Admin.cpp @@ -978,6 +978,22 @@ bool is_admin_command_or_alias(const std::vector& cmds, char *query return false; } +incoming_servers_t::incoming_servers_t() {} + +incoming_servers_t::incoming_servers_t( + SQLite3_result* incoming_mysql_servers, + SQLite3_result* incoming_replication_hostgroups, + SQLite3_result* incoming_group_replication_hostgroups, + SQLite3_result* incoming_galera_hostgroups, + SQLite3_result* incoming_aurora_hostgroups +) : + incoming_mysql_servers(incoming_mysql_servers), + incoming_replication_hostgroups(incoming_replication_hostgroups), + incoming_group_replication_hostgroups(incoming_group_replication_hostgroups), + incoming_galera_hostgroups(incoming_galera_hostgroups), + incoming_aurora_hostgroups(incoming_aurora_hostgroups) +{} + int ProxySQL_Test___GetDigestTable(bool reset, bool use_swap) { int r = 0; if (!GloQPro) return 0; diff --git a/lib/ProxySQL_Cluster.cpp b/lib/ProxySQL_Cluster.cpp index 1f3e298ae..ac7789a3f 100644 --- a/lib/ProxySQL_Cluster.cpp +++ b/lib/ProxySQL_Cluster.cpp @@ -1424,9 +1424,9 @@ uint64_t compute_servers_tables_raw_checksum(const vector& results) incoming_servers_t convert_servers_resultsets(const std::vector& results) { if (results.size() != sizeof(incoming_servers_t) / sizeof(void*)) { - return {}; + return incoming_servers_t {}; } else { - return { + return incoming_servers_t { get_SQLite3_resulset(results[0]).release(), get_SQLite3_resulset(results[1]).release(), get_SQLite3_resulset(results[2]).release(),