diff --git a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/MySQLDialect.scala b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/MySQLDialect.scala index e1392436391..6453eaaf558 100644 --- a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/MySQLDialect.scala +++ b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/MySQLDialect.scala @@ -36,6 +36,10 @@ class MySQLDialect extends JdbcDialect { statement } + override def getSchemasOperation(catalog: String, schema: String): String = { + return "select database()" + } + override def getTablesQuery( catalog: String, schema: String, @@ -60,8 +64,11 @@ class MySQLDialect extends JdbcDialect { filters += s"$TABLE_CATALOG = '$catalog'" } - if (StringUtils.isNotBlank(schema)) { + // when DBeaver connect use %, kyuubi to return all tables from all other databases. + if (StringUtils.isNotBlank(schema) && !"%".equals(schema)) { filters += s"$TABLE_SCHEMA LIKE '$schema'" + } else { + filters += s"$TABLE_SCHEMA = database()" } if (StringUtils.isNotBlank(tableName)) { diff --git a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/StarRocksDialect.scala b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/StarRocksDialect.scala index aa4054eaa7c..cf0cfa49861 100644 --- a/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/StarRocksDialect.scala +++ b/externals/kyuubi-jdbc-engine/src/main/scala/org/apache/kyuubi/engine/jdbc/dialect/StarRocksDialect.scala @@ -26,4 +26,8 @@ class StarRocksDialect extends MySQLDialect { override def getSchemaHelper(): SchemaHelper = new StarRocksSchemaHelper + + override def getCatalogsOperation(): String = { + return "show catalogs" + } }