Commit 14e4c2fc authored by heyang's avatar heyang

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

parent fc646434
...@@ -13,6 +13,7 @@ import com.dlink.metadata.convert.ITypeConvert; ...@@ -13,6 +13,7 @@ import com.dlink.metadata.convert.ITypeConvert;
import com.dlink.metadata.parser.Clickhouse20StatementParser; import com.dlink.metadata.parser.Clickhouse20StatementParser;
import com.dlink.metadata.query.ClickHouseQuery; import com.dlink.metadata.query.ClickHouseQuery;
import com.dlink.metadata.query.IDBQuery; import com.dlink.metadata.query.IDBQuery;
import com.dlink.model.Schema;
import com.dlink.model.Table; import com.dlink.model.Table;
import com.dlink.result.SqlExplainResult; import com.dlink.result.SqlExplainResult;
import com.dlink.utils.LogUtil; import com.dlink.utils.LogUtil;
...@@ -34,9 +35,10 @@ import java.util.regex.Pattern; ...@@ -34,9 +35,10 @@ import java.util.regex.Pattern;
* @since 2021/7/21 17:14 * @since 2021/7/21 17:14
**/ **/
public class ClickHouseDriver extends AbstractJdbcDriver { public class ClickHouseDriver extends AbstractJdbcDriver {
@Override @Override
String getDriverClass() { String getDriverClass() {
return "ru.yandex.clickhouse.ClickHouseDriver"; return "com.clickhouse.jdbc.ClickHouseDriver";
} }
@Override @Override
...@@ -59,6 +61,30 @@ public class ClickHouseDriver extends AbstractJdbcDriver { ...@@ -59,6 +61,30 @@ public class ClickHouseDriver extends AbstractJdbcDriver {
return "ClickHouse OLAP 数据库"; 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 @Override
public List<Table> listTables(String schemaName) { public List<Table> listTables(String schemaName) {
List<Table> tableList = new ArrayList<>(); List<Table> tableList = new ArrayList<>();
......
...@@ -9,7 +9,7 @@ package com.dlink.metadata.query; ...@@ -9,7 +9,7 @@ package com.dlink.metadata.query;
public class ClickHouseQuery extends AbstractDBQuery { public class ClickHouseQuery extends AbstractDBQuery {
@Override @Override
public String schemaAllSql() { public String schemaAllSql() {
return "show databases"; return "SELECT currentDatabase()";
} }
@Override @Override
...@@ -25,7 +25,7 @@ public class ClickHouseQuery extends AbstractDBQuery { ...@@ -25,7 +25,7 @@ public class ClickHouseQuery extends AbstractDBQuery {
@Override @Override
public String schemaName() { public String schemaName() {
return "db"; return "database";
} }
@Override @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