From 68f29ab87ecd9c93344fe2a8d2f80bf0ec56ff3b Mon Sep 17 00:00:00 2001 From: Fan Yang Date: Fri, 13 Dec 2024 18:53:06 +0800 Subject: [PATCH] fix: fix duplicate 'mysql' database issue (#284) * fix: fix duplicate 'mysql' database issue Fixes #283 --- catalog/provider.go | 2 +- test/bats/mysql/unique_databases.bats | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/bats/mysql/unique_databases.bats diff --git a/catalog/provider.go b/catalog/provider.go index 4ac0ba35..56c15204 100644 --- a/catalog/provider.go +++ b/catalog/provider.go @@ -168,7 +168,7 @@ func (prov *DatabaseProvider) AllDatabases(ctx *sql.Context) []sql.Database { } switch schemaName { - case "information_schema", "pg_catalog", "__sys__": + case "information_schema", "pg_catalog", "__sys__", "mysql": continue } diff --git a/test/bats/mysql/unique_databases.bats b/test/bats/mysql/unique_databases.bats new file mode 100644 index 00000000..be495073 --- /dev/null +++ b/test/bats/mysql/unique_databases.bats @@ -0,0 +1,8 @@ +#!/usr/bin/env bats + +@test "Ensure every database reported by SHOW DATABASES is unique" { + run mysql -h 127.0.0.1 -u root --raw --batch --skip-column-names -e "SHOW DATABASES" + [ "$status" -eq 0 ] + unique_databases=$(echo "$output" | sort | uniq -d) + [ -z "$unique_databases" ] +}