Commit 14e4c2fc authored by heyang's avatar heyang

[Fix-426][metadata]修复clickhouse元数据不显示问题

parent fc646434
......@@ -13,6 +13,7 @@ import com.dlink.metadata.convert.ITypeConvert;
import com.dlink.metadata.parser.Clickhouse20StatementParser;
import com.dlink.metadata.query.ClickHouseQuery;
import com.dlink.metadata.query.IDBQuery;
import com.dlink.model.Schema;
import com.dlink.model.Table;
import com.dlink.result.SqlExplainResult;
import com.dlink.utils.LogUtil;
......@@ -34,9 +35,10 @@ import java.util.regex.Pattern;
* @since 2021/7/21 17:14
**/
public class ClickHouseDriver extends AbstractJdbcDriver {
@Override
String getDriverClass() {
return "ru.yandex.clickhouse.ClickHouseDriver";
return "com.clickhouse.jdbc.ClickHouseDriver";
}
@Override
......@@ -59,6 +61,30 @@ public class ClickHouseDriver extends AbstractJdbcDriver {
return "ClickHouse OLAP 数据库";
}
@Override
public List<Schema> listSchemas() {
List<Schema> schemas = new ArrayList<>();
PreparedStatement preparedStatement = null;
ResultSet results = null;
String schemasSql = getDBQuery().schemaAllSql();
try {
preparedStatement = conn.prepareStatement(schemasSql);
results = preparedStatement.executeQuery();
while (results.next()) {
String schemaName= results.getMetaData().getSchemaName(0);
if (Asserts.isNotNullString(schemaName)) {
Schema schema = new Schema(schemaName);
schemas.add(schema);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
close(preparedStatement, results);
}
return schemas;
}
@Override
public List<Table> listTables(String schemaName) {
List<Table> tableList = new ArrayList<>();
......
......@@ -9,7 +9,7 @@ package com.dlink.metadata.query;
public class ClickHouseQuery extends AbstractDBQuery {
@Override
public String schemaAllSql() {
return "show databases";
return "SELECT currentDatabase()";
}
@Override
......@@ -25,7 +25,7 @@ public class ClickHouseQuery extends AbstractDBQuery {
@Override
public String schemaName() {
return "db";
return "database";
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment