Merge pull request #8094 from dataease/pr@dev@fix_doris_plugin

fix(视图): 修复视图插件直连doris报错 #8054
This commit is contained in:
Junjun 2024-02-20 18:03:43 +08:00 committed by GitHub
commit bd8b544b77
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 184 deletions

View File

@ -54,179 +54,4 @@ public class DorisQueryProvider extends MysqlQueryProvider {
public String getTotalCount(boolean isTable, String sql, Datasource ds) {
return null;
}
@Override
public Integer transFieldType(String field) {
return super.transFieldType(field);
}
@Override
public String createSQLPreview(String sql, String orderBy) {
return super.createSQLPreview(sql, orderBy);
}
@Override
public String createQuerySQL(String table, List<DatasetTableField> fields, boolean isGroup, Datasource ds, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree) {
return super.createQuerySQL(table, fields, isGroup, ds, fieldCustomFilter, rowPermissionsTree);
}
@Override
public String createQuerySQLAsTmp(String sql, List<DatasetTableField> fields, boolean isGroup, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree) {
return super.createQuerySQLAsTmp(sql, fields, isGroup, fieldCustomFilter, rowPermissionsTree);
}
@Override
public String createQuerySQL(String table, List<DatasetTableField> fields, boolean isGroup, Datasource ds, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<DeSortField> sortFields, Long limit, String keyword) {
return super.createQuerySQL(table, fields, isGroup, ds, fieldCustomFilter, rowPermissionsTree, sortFields, limit, keyword);
}
@Override
public String createQuerySQLAsTmp(String sql, List<DatasetTableField> fields, boolean isGroup, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<DeSortField> sortFields, Long limit, String keyword) {
return super.createQuerySQLAsTmp(sql, fields, isGroup, fieldCustomFilter, rowPermissionsTree, sortFields, limit, keyword);
}
@Override
public String createQueryTableWithPage(String table, List<DatasetTableField> fields, Integer page, Integer pageSize, Integer realSize, boolean isGroup, Datasource ds, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree) {
return super.createQueryTableWithPage(table, fields, page, pageSize, realSize, isGroup, ds, fieldCustomFilter, rowPermissionsTree);
}
@Override
public String createQueryTableWithLimit(String table, List<DatasetTableField> fields, Integer limit, boolean isGroup, Datasource ds, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree) {
return super.createQueryTableWithLimit(table, fields, limit, isGroup, ds, fieldCustomFilter, rowPermissionsTree);
}
@Override
public String createQuerySqlWithLimit(String sql, List<DatasetTableField> fields, Integer limit, boolean isGroup, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree) {
return super.createQuerySqlWithLimit(sql, fields, limit, isGroup, fieldCustomFilter, rowPermissionsTree);
}
@Override
public String createQuerySQLWithPage(String sql, List<DatasetTableField> fields, Integer page, Integer pageSize, Integer realSize, boolean isGroup, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree) {
return super.createQuerySQLWithPage(sql, fields, page, pageSize, realSize, isGroup, fieldCustomFilter, rowPermissionsTree);
}
@Override
public String getSQL(String table, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
return super.getSQL(table, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
}
@Override
public String getSQLRangeBar(String table, List<ChartViewFieldDTO> baseXAxis, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, List<ChartViewFieldDTO> extStack, Datasource ds, ChartViewWithBLOBs view) {
return super.getSQLRangeBar(table, baseXAxis, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, extStack, ds, view);
}
@Override
public String getSQLAsTmpRangeBar(String table, List<ChartViewFieldDTO> baseXAxis, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, List<ChartViewFieldDTO> extStack, ChartViewWithBLOBs view) {
return super.getSQLAsTmpRangeBar(table, baseXAxis, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, extStack, view);
}
@Override
public String getSQLTableInfo(String table, List<ChartViewFieldDTO> xAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
return super.getSQLTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
}
@Override
public String originalTableInfo(String table, List<ChartViewFieldDTO> xAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, boolean needOrder) {
return super.originalTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, needOrder);
}
@Override
public String getSQLAsTmpTableInfo(String sql, List<ChartViewFieldDTO> xAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
return super.getSQLAsTmpTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
}
@Override
public String getSQLAsTmp(String sql, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, ChartViewWithBLOBs view) {
return super.getSQLAsTmp(sql, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, view);
}
@Override
public String getSQLStack(String table, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, List<ChartViewFieldDTO> extStack, Datasource ds, ChartViewWithBLOBs view) {
return super.getSQLStack(table, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, extStack, ds, view);
}
@Override
public String getSQLAsTmpStack(String table, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, List<ChartViewFieldDTO> extStack, ChartViewWithBLOBs view) {
return super.getSQLAsTmpStack(table, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, extStack, view);
}
@Override
public String getSQLScatter(String table, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, List<ChartViewFieldDTO> extBubble, List<ChartViewFieldDTO> extGroup, Datasource ds, ChartViewWithBLOBs view) {
return super.getSQLScatter(table, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, extBubble, extGroup, ds, view);
}
@Override
public String getSQLAsTmpScatter(String table, List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, List<ChartViewFieldDTO> extBubble, List<ChartViewFieldDTO> extGroup, ChartViewWithBLOBs view) {
return super.getSQLAsTmpScatter(table, xAxis, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, extBubble, extGroup, view);
}
@Override
public String searchTable(String table) {
return super.searchTable(table);
}
@Override
public String getSQLSummary(String table, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, ChartViewWithBLOBs view, Datasource ds) {
return super.getSQLSummary(table, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, view, ds);
}
@Override
public String getSQLSummaryAsTmp(String sql, List<ChartViewFieldDTO> yAxis, FilterTreeObj fieldCustomFilter, List<DataSetRowPermissionsTreeDTO> rowPermissionsTree, List<ChartExtFilterRequest> extFilterRequestList, ChartViewWithBLOBs view) {
return super.getSQLSummaryAsTmp(sql, yAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, view);
}
@Override
public String wrapSql(String sql) {
return super.wrapSql(sql);
}
@Override
public String createRawQuerySQLAsTmp(String sql, List<DatasetTableField> fields) {
return super.createRawQuerySQLAsTmp(sql, fields);
}
@Override
public String transTreeItem(SQLObj tableObj, DatasetRowPermissionsTreeItem item) {
return super.transTreeItem(tableObj, item);
}
@Override
public String transTreeItem(SQLObj tableObj, FilterTreeItem item) {
return super.transTreeItem(tableObj, item);
}
@Override
public String convertTableToSql(String tableName, Datasource ds) {
return super.convertTableToSql(tableName, ds);
}
@Override
public String transMysqlFilterTerm(String term) {
return super.transMysqlFilterTerm(term);
}
@Override
public String transCustomFilterList(SQLObj tableObj, List<ChartFieldCustomFilterDTO> requestList) {
return super.transCustomFilterList(tableObj, requestList);
}
@Override
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
return super.transExtFilterList(tableObj, requestList);
}
@Override
public String sqlFix(String sql) {
return super.sqlFix(sql);
}
@Override
public String sqlForPreview(String table, Datasource ds) {
return super.sqlForPreview(table, ds);
}
@Override
public List<Dateformat> dateformat() {
return super.dateformat();
}
}

View File

@ -109,7 +109,7 @@ public class MysqlQueryProvider extends QueryProvider {
return createQuerySQL("(" + sqlFix(sql) + ")", fields, isGroup, null, fieldCustomFilter, rowPermissionsTree, null, null, null);
}
private SQLObj buildSortField(DeSortField f, SQLObj tableObj, int index) {
public SQLObj buildSortField(DeSortField f, SQLObj tableObj, int index) {
String originField;
if (ObjectUtils.isNotEmpty(f.getExtField()) && f.getExtField() == 2) {
// 解析origin name中有关联的字段生成sql表达式
@ -1475,7 +1475,7 @@ public class MysqlQueryProvider extends QueryProvider {
return sql;
}
private String transDateFormat(String dateStyle, String datePattern) {
public String transDateFormat(String dateStyle, String datePattern) {
String split = "-";
if (StringUtils.equalsIgnoreCase(datePattern, "date_sub")) {
split = "-";
@ -1513,7 +1513,7 @@ public class MysqlQueryProvider extends QueryProvider {
}
}
private SQLObj getXFields(ChartViewFieldDTO x, String originField, String fieldAlias) {
public SQLObj getXFields(ChartViewFieldDTO x, String originField, String fieldAlias) {
String fieldName = "";
if (x.getDeExtractType() == 1) {
if (x.getDeType() == 2 || x.getDeType() == 3) {
@ -1580,7 +1580,7 @@ public class MysqlQueryProvider extends QueryProvider {
.build();
}
private List<SQLObj> getXWheres(ChartViewFieldDTO x, String originField, String fieldAlias) {
public List<SQLObj> getXWheres(ChartViewFieldDTO x, String originField, String fieldAlias) {
List<SQLObj> list = new ArrayList<>();
if (CollectionUtils.isNotEmpty(x.getFilter()) && x.getFilter().size() > 0) {
x.getFilter().forEach(f -> {
@ -1622,7 +1622,7 @@ public class MysqlQueryProvider extends QueryProvider {
return list;
}
private SQLObj getYFields(ChartViewFieldDTO y, String originField, String fieldAlias) {
public SQLObj getYFields(ChartViewFieldDTO y, String originField, String fieldAlias) {
String fieldName = "";
if (StringUtils.equalsIgnoreCase(y.getOriginName(), "*")) {
fieldName = MySQLConstants.AGG_COUNT;
@ -1654,7 +1654,7 @@ public class MysqlQueryProvider extends QueryProvider {
.build();
}
private String getYWheres(ChartViewFieldDTO y, String originField, String fieldAlias) {
public String getYWheres(ChartViewFieldDTO y, String originField, String fieldAlias) {
List<SQLObj> list = new ArrayList<>();
if (CollectionUtils.isNotEmpty(y.getFilter()) && y.getFilter().size() > 0) {
y.getFilter().forEach(f -> {
@ -1692,7 +1692,7 @@ public class MysqlQueryProvider extends QueryProvider {
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" " + getLogic(y.getLogic()) + " ", strList) + ")" : null;
}
private String calcFieldRegex(String originField, SQLObj tableObj) {
public String calcFieldRegex(String originField, SQLObj tableObj) {
try {
int i = 0;
return buildCalcField(originField, tableObj, i);
@ -1702,7 +1702,7 @@ public class MysqlQueryProvider extends QueryProvider {
return null;
}
private String buildCalcField(String originField, SQLObj tableObj, int i) throws Exception {
public String buildCalcField(String originField, SQLObj tableObj, int i) throws Exception {
try {
i++;
if (i > 100) {
@ -1743,7 +1743,7 @@ public class MysqlQueryProvider extends QueryProvider {
return null;
}
private String sqlLimit(String sql, ChartViewWithBLOBs view) {
public String sqlLimit(String sql, ChartViewWithBLOBs view) {
if (StringUtils.equalsIgnoreCase(view.getResultMode(), "custom")) {
return sql + " LIMIT 0," + view.getResultCount();
} else {