mirror of
https://github.com/dataease/dataease.git
synced 2025-02-24 19:42:56 +08:00
fix: 修复 doris表字段描述没有正确显示 #13879
This commit is contained in:
parent
3ec5577c02
commit
fe0a42dc8e
@ -271,13 +271,17 @@ public class CalciteProvider extends Provider {
|
|||||||
ResultSet resultSet = null;
|
ResultSet resultSet = null;
|
||||||
try (Connection con = getConnectionFromPool(datasourceRequest.getDatasource().getId()); Statement statement = getStatement(con, 30)) {
|
try (Connection con = getConnectionFromPool(datasourceRequest.getDatasource().getId()); Statement statement = getStatement(con, 30)) {
|
||||||
datasourceRequest.setDsVersion(con.getMetaData().getDatabaseMajorVersion());
|
datasourceRequest.setDsVersion(con.getMetaData().getDatabaseMajorVersion());
|
||||||
if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("mongo") || isDorisCatalog(datasourceRequest)) {
|
if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("mongo")) {
|
||||||
resultSet = statement.executeQuery("select * from " + String.format(" `%s`", table) + " limit 0 offset 0 ");
|
resultSet = statement.executeQuery("select * from " + String.format(" `%s`", table) + " limit 0 offset 0 ");
|
||||||
return fetchResultField(resultSet);
|
return fetchResultField(resultSet);
|
||||||
}
|
}
|
||||||
resultSet = statement.executeQuery(getTableFiledSql(datasourceRequest));
|
if (isDorisCatalog(datasourceRequest)) {
|
||||||
|
resultSet = statement.executeQuery("desc " + String.format(" `%s`", table));
|
||||||
|
} else {
|
||||||
|
resultSet = statement.executeQuery(getTableFiledSql(datasourceRequest));
|
||||||
|
}
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
TableField tableFieldDesc = getTableFieldDesc(datasourceRequest, resultSet);
|
TableField tableFieldDesc = getTableFieldDesc(datasourceRequest, resultSet, 3);
|
||||||
boolean repeat = false;
|
boolean repeat = false;
|
||||||
for (TableField ele : datasetTableFields) {
|
for (TableField ele : datasetTableFields) {
|
||||||
if (StringUtils.equalsIgnoreCase(ele.getOriginName(), tableFieldDesc.getOriginName())) {
|
if (StringUtils.equalsIgnoreCase(ele.getOriginName(), tableFieldDesc.getOriginName())) {
|
||||||
@ -700,7 +704,7 @@ public class CalciteProvider extends Provider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TableField getTableFieldDesc(DatasourceRequest datasourceRequest, ResultSet resultSet) throws SQLException {
|
private TableField getTableFieldDesc(DatasourceRequest datasourceRequest, ResultSet resultSet, int commentIndex) throws SQLException {
|
||||||
TableField tableField = new TableField();
|
TableField tableField = new TableField();
|
||||||
tableField.setOriginName(resultSet.getString(1));
|
tableField.setOriginName(resultSet.getString(1));
|
||||||
tableField.setType(resultSet.getString(2).toUpperCase());
|
tableField.setType(resultSet.getString(2).toUpperCase());
|
||||||
@ -708,7 +712,7 @@ public class CalciteProvider extends Provider {
|
|||||||
int deType = FieldUtils.transType2DeType(tableField.getType());
|
int deType = FieldUtils.transType2DeType(tableField.getType());
|
||||||
tableField.setDeExtractType(deType);
|
tableField.setDeExtractType(deType);
|
||||||
tableField.setDeType(deType);
|
tableField.setDeType(deType);
|
||||||
tableField.setName(resultSet.getString(3));
|
tableField.setName(resultSet.getString(commentIndex));
|
||||||
try {
|
try {
|
||||||
tableField.setPrimary(resultSet.getInt(4) > 0);
|
tableField.setPrimary(resultSet.getInt(4) > 0);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
Loading…
Reference in New Issue
Block a user