diff options
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/proxysql/kolla_proxysql_config_sync | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/docker/proxysql/kolla_proxysql_config_sync b/docker/proxysql/kolla_proxysql_config_sync index d6d531f30..094642c8a 100644 --- a/docker/proxysql/kolla_proxysql_config_sync +++ b/docker/proxysql/kolla_proxysql_config_sync @@ -93,14 +93,24 @@ class ProxySQLConfig: rules = list() rule_id = 1 for rule in self.config['mysql_query_rules']: - if rule['schemaname'] not in rules_added: - rules_added.append(rule['schemaname']) + if 'schemaname' in rule: + key = f"schema:{rule['schemaname']}" + elif 'username' in rule: + key = f"user:{rule['username']}" + else: + LOG.warning( + f"Rule without schemaname or username found, skipping: {rule}" + ) + continue + + if key not in rules_added: + rules_added.append(key) rule['rule_id'] = rule_id rules.append(rule) rule_id += 1 else: - LOG.warning("Rule witch schemaname {} already exist, ignoring." - .format(rule['schemaname'])) + LOG.warning("Duplicate rule for {}, ignoring.".format(key)) + self.config['mysql_query_rules'] = rules def _write_dict(self, key, value): |
