fix: SQL变量误报错 #6624

This commit is contained in:
taojinlong 2023-11-29 19:26:12 +08:00
parent 2062cfd4e6
commit c22e25ec00
5 changed files with 44 additions and 42 deletions

View File

@ -34,7 +34,6 @@ public class DriverMgmController {
@ApiOperation("驱动列表") @ApiOperation("驱动列表")
@PostMapping("/list") @PostMapping("/list")
public List<DriverDTO> listDeDriver() throws Exception{ public List<DriverDTO> listDeDriver() throws Exception{
checkPermission();
return driverService.list(); return driverService.list();
} }

View File

@ -333,8 +333,10 @@ public class EsQueryProvider extends QueryProvider {
} else if (ObjectUtils.isNotEmpty(y.getExtField()) && y.getExtField() == DeTypeConstants.DE_TIME) { } else if (ObjectUtils.isNotEmpty(y.getExtField()) && y.getExtField() == DeTypeConstants.DE_TIME) {
originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName()); originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName());
} else { } else {
if (y.getDeType() == 2 || y.getDeType() == 3) { if (y.getDeType() == 2) {
originField = String.format(EsSqlLConstants.CAST, String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName()), "bigint"); originField = String.format(EsSqlLConstants.CAST, String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName()), "bigint");
} else if (y.getDeType() == 3) {
originField = String.format(EsSqlLConstants.CAST, String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName()), "float");
} else { } else {
originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName()); originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), y.getOriginName());
} }

View File

@ -1118,6 +1118,7 @@ public class DataSetTableService {
private void handleSelectItems(PlainSelect plainSelect, String dsType) throws Exception { private void handleSelectItems(PlainSelect plainSelect, String dsType) throws Exception {
List<SelectItem> selectItems = new ArrayList<>(); List<SelectItem> selectItems = new ArrayList<>();
for (SelectItem selectItem : plainSelect.getSelectItems()) { for (SelectItem selectItem : plainSelect.getSelectItems()) {
try {
SelectExpressionItem selectExpressionItem = (SelectExpressionItem) selectItem; SelectExpressionItem selectExpressionItem = (SelectExpressionItem) selectItem;
if (selectExpressionItem.getExpression() instanceof SubSelect) { if (selectExpressionItem.getExpression() instanceof SubSelect) {
SubSelect subSelect = (SubSelect) selectExpressionItem.getExpression(); SubSelect subSelect = (SubSelect) selectExpressionItem.getExpression();
@ -1125,6 +1126,8 @@ public class DataSetTableService {
subSelect.setSelectBody(select.getSelectBody()); subSelect.setSelectBody(select.getSelectBody());
((SelectExpressionItem) selectItem).setExpression(subSelect); ((SelectExpressionItem) selectItem).setExpression(subSelect);
} }
} catch (Exception e) {
}
selectItems.add(selectItem); selectItems.add(selectItem);
} }
plainSelect.setSelectItems(selectItems); plainSelect.setSelectItems(selectItems);
@ -1150,6 +1153,7 @@ public class DataSetTableService {
plainSelect.setFromItem(subSelect); plainSelect.setFromItem(subSelect);
} }
} }
private void handleJoins(PlainSelect plainSelect, String dsType) throws Exception { private void handleJoins(PlainSelect plainSelect, String dsType) throws Exception {
List<Join> joins = plainSelect.getJoins(); List<Join> joins = plainSelect.getJoins();
if (joins != null) { if (joins != null) {
@ -1177,6 +1181,7 @@ public class DataSetTableService {
plainSelect.setJoins(joinsList); plainSelect.setJoins(joinsList);
} }
} }
private String handleWhere(PlainSelect plainSelect, Select statementSelect, String dsType) throws Exception { private String handleWhere(PlainSelect plainSelect, Select statementSelect, String dsType) throws Exception {
Expression expr = plainSelect.getWhere(); Expression expr = plainSelect.getWhere();
if (expr == null) { if (expr == null) {
@ -1227,7 +1232,6 @@ public class DataSetTableService {
} }
public Map<String, Object> getDBPreview(DataSetTableRequest dataSetTableRequest) throws Exception { public Map<String, Object> getDBPreview(DataSetTableRequest dataSetTableRequest) throws Exception {
Datasource ds = datasourceMapper.selectByPrimaryKey(dataSetTableRequest.getDataSourceId()); Datasource ds = datasourceMapper.selectByPrimaryKey(dataSetTableRequest.getDataSourceId());
if (ds == null) { if (ds == null) {

View File

@ -1159,8 +1159,6 @@ export default {
callback() callback()
}, },
isNumber(rule, value, callback) { isNumber(rule, value, callback) {
console.log(value)
console.log(!value)
if (!value) { if (!value) {
callback(new Error(i18n.t('datasource.please_input_query_timeout'))) callback(new Error(i18n.t('datasource.please_input_query_timeout')))
return return
@ -1168,7 +1166,6 @@ export default {
let isNumber = false let isNumber = false
var reg = /^\d+$/; var reg = /^\d+$/;
isNumber = reg.test(value); isNumber = reg.test(value);
console.log(!isNumber)
if (!isNumber) { if (!isNumber) {
callback(new Error(i18n.t('datasource.please_input_query_timeout'))) callback(new Error(i18n.t('datasource.please_input_query_timeout')))
return return

View File

@ -946,7 +946,7 @@ export default {
this.tData.forEach((item) => { this.tData.forEach((item) => {
if (item.id === this.form.type) { if (item.id === this.form.type) {
item.children.forEach((child) => { item.children.forEach((child) => {
if (this.formType === 'modify' && child.id === this.form.id) { if (child.id === this.form.id) {
return return
} }
const configuration = JSON.parse(child.configuration) const configuration = JSON.parse(child.configuration)