Skip to content

Commit 96bfd0c

Browse files
committed
Merge branch 'v2.0.16' of https://github.com/sysown/proxysql into v2.0.16
2 parents 2c1abd0 + c1fb537 commit 96bfd0c

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

lib/MySQL_HostGroups_Manager.cpp

+7-2
Original file line numberDiff line numberDiff line change
@@ -4013,7 +4013,7 @@ void MySQL_HostGroups_Manager::update_group_replication_set_writer(char *_hostna
40134013
char *query=NULL;
40144014
char *q=NULL;
40154015
char *error=NULL;
4016-
q=(char *)"SELECT hostgroup_id FROM mysql_servers JOIN mysql_group_replication_hostgroups ON hostgroup_id=writer_hostgroup OR hostgroup_id=reader_hostgroup OR hostgroup_id=backup_writer_hostgroup OR hostgroup_id=offline_hostgroup WHERE hostname='%s' AND port=%d AND status<>3";
4016+
q=(char *)"SELECT hostgroup_id, status FROM mysql_servers JOIN mysql_group_replication_hostgroups ON hostgroup_id=writer_hostgroup OR hostgroup_id=reader_hostgroup OR hostgroup_id=backup_writer_hostgroup OR hostgroup_id=offline_hostgroup WHERE hostname='%s' AND port=%d AND status<>3";
40174017
query=(char *)malloc(strlen(q)+strlen(_hostname)+32);
40184018
sprintf(query,q,_hostname,_port);
40194019
mydb->execute_statement(query, &error, &cols , &affected_rows , &resultset);
@@ -4048,7 +4048,10 @@ void MySQL_HostGroups_Manager::update_group_replication_set_writer(char *_hostna
40484048
SQLite3_row *r=*it;
40494049
int hostgroup=atoi(r->fields[0]);
40504050
if (hostgroup==_writer_hostgroup) {
4051-
found_writer=true;
4051+
int status = atoi(r->fields[1]);
4052+
if (status == 0) {
4053+
found_writer=true;
4054+
}
40524055
}
40534056
if (read_HG>=0) {
40544057
if (hostgroup==read_HG) {
@@ -4096,6 +4099,8 @@ void MySQL_HostGroups_Manager::update_group_replication_set_writer(char *_hostna
40964099
//free(query);
40974100
if (writer_is_also_reader && read_HG>=0) {
40984101
q=(char *)"INSERT OR IGNORE INTO mysql_servers_incoming (hostgroup_id,hostname,port,gtid_port,status,weight,compression,max_connections,max_replication_lag,use_ssl,max_latency_ms,comment) SELECT %d,hostname,port,gtid_port,status,weight,compression,max_connections,max_replication_lag,use_ssl,max_latency_ms,comment FROM mysql_servers_incoming WHERE hostgroup_id=%d AND hostname='%s' AND port=%d";
4102+
free(query);
4103+
query=(char *)malloc(strlen(q)+strlen(_hostname)+256);
40994104
sprintf(query,q,read_HG,_writer_hostgroup,_hostname,_port);
41004105
mydb->execute(query);
41014106
}

lib/Query_Processor.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,8 @@ static void __delete_query_rule(QP_rule_t *qr) {
371371
free(qr->username);
372372
if (qr->schemaname)
373373
free(qr->schemaname);
374+
if (qr->match_digest)
375+
free(qr->match_digest);
374376
if (qr->match_pattern)
375377
free(qr->match_pattern);
376378
if (qr->replace_pattern)

0 commit comments

Comments
 (0)