forked from github/dataease
refactor: 单一数据源的数据集、图表使用对应数据库语法和函数
This commit is contained in:
parent
6e5feace42
commit
4bcb8adb97
@ -45,6 +45,9 @@ public class CustomWhere2Str {
|
|||||||
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
||||||
originName = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, field.getId());
|
originName = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, field.getId());
|
||||||
fieldsDialect.put(originName, calcFieldExp);
|
fieldsDialect.put(originName, calcFieldExp);
|
||||||
|
if (isCross) {
|
||||||
|
originName = calcFieldExp;
|
||||||
|
}
|
||||||
} else if (ObjectUtils.isNotEmpty(field.getExtField()) && field.getExtField() == 1) {
|
} else if (ObjectUtils.isNotEmpty(field.getExtField()) && field.getExtField() == 1) {
|
||||||
originName = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), field.getDataeaseName());
|
originName = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), field.getDataeaseName());
|
||||||
} else {
|
} else {
|
||||||
|
@ -39,6 +39,9 @@ public class Dimension2SQLObj {
|
|||||||
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
||||||
originField = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, x.getId());
|
originField = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, x.getId());
|
||||||
fieldsDialect.put(originField, calcFieldExp);
|
fieldsDialect.put(originField, calcFieldExp);
|
||||||
|
if (isCross) {
|
||||||
|
originField = calcFieldExp;
|
||||||
|
}
|
||||||
} else if (ObjectUtils.isNotEmpty(x.getExtField()) && Objects.equals(x.getExtField(), ExtFieldConstant.EXT_COPY)) {
|
} else if (ObjectUtils.isNotEmpty(x.getExtField()) && Objects.equals(x.getExtField(), ExtFieldConstant.EXT_COPY)) {
|
||||||
originField = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), x.getDataeaseName());
|
originField = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), x.getDataeaseName());
|
||||||
} else {
|
} else {
|
||||||
|
@ -53,6 +53,9 @@ public class ExtWhere2Str {
|
|||||||
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
||||||
originName = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, field.getId());
|
originName = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, field.getId());
|
||||||
fieldsDialect.put(originName, calcFieldExp);
|
fieldsDialect.put(originName, calcFieldExp);
|
||||||
|
if (isCross) {
|
||||||
|
originName = calcFieldExp;
|
||||||
|
}
|
||||||
} else if (ObjectUtils.isNotEmpty(field.getExtField()) && field.getExtField() == 1) {
|
} else if (ObjectUtils.isNotEmpty(field.getExtField()) && field.getExtField() == 1) {
|
||||||
originName = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), field.getDataeaseName());
|
originName = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), field.getDataeaseName());
|
||||||
} else {
|
} else {
|
||||||
|
@ -20,7 +20,7 @@ import java.util.*;
|
|||||||
*/
|
*/
|
||||||
public class Field2SQLObj {
|
public class Field2SQLObj {
|
||||||
|
|
||||||
public static void field2sqlObj(SQLMeta meta, List<DatasetTableFieldDTO> fields,List<DatasetTableFieldDTO> originFields, boolean isCross, Map<Long, DatasourceSchemaDTO> dsMap) {
|
public static void field2sqlObj(SQLMeta meta, List<DatasetTableFieldDTO> fields, List<DatasetTableFieldDTO> originFields, boolean isCross, Map<Long, DatasourceSchemaDTO> dsMap) {
|
||||||
SQLObj tableObj = meta.getTable();
|
SQLObj tableObj = meta.getTable();
|
||||||
if (ObjectUtils.isEmpty(tableObj)) {
|
if (ObjectUtils.isEmpty(tableObj)) {
|
||||||
return;
|
return;
|
||||||
@ -37,6 +37,9 @@ public class Field2SQLObj {
|
|||||||
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
||||||
originField = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, x.getId());
|
originField = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, x.getId());
|
||||||
fieldsDialect.put(originField, calcFieldExp);
|
fieldsDialect.put(originField, calcFieldExp);
|
||||||
|
if (isCross) {
|
||||||
|
originField = calcFieldExp;
|
||||||
|
}
|
||||||
// 此处是数据集预览,获取数据库原始字段枚举值等操作使用,如果遇到聚合函数则将originField设置为null
|
// 此处是数据集预览,获取数据库原始字段枚举值等操作使用,如果遇到聚合函数则将originField设置为null
|
||||||
for (String func : FunctionConstant.AGG_FUNC) {
|
for (String func : FunctionConstant.AGG_FUNC) {
|
||||||
if (Utils.matchFunction(func, calcFieldExp)) {
|
if (Utils.matchFunction(func, calcFieldExp)) {
|
||||||
|
@ -40,6 +40,9 @@ public class Quota2SQLObj {
|
|||||||
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
||||||
originField = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, y.getId());
|
originField = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, y.getId());
|
||||||
fieldsDialect.put(originField, calcFieldExp);
|
fieldsDialect.put(originField, calcFieldExp);
|
||||||
|
if (isCross) {
|
||||||
|
originField = calcFieldExp;
|
||||||
|
}
|
||||||
} else if (ObjectUtils.isNotEmpty(y.getExtField()) && Objects.equals(y.getExtField(), ExtFieldConstant.EXT_COPY)) {
|
} else if (ObjectUtils.isNotEmpty(y.getExtField()) && Objects.equals(y.getExtField(), ExtFieldConstant.EXT_COPY)) {
|
||||||
originField = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), y.getDataeaseName());
|
originField = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), y.getDataeaseName());
|
||||||
} else {
|
} else {
|
||||||
|
@ -88,6 +88,9 @@ public class WhereTree2Str {
|
|||||||
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
// 给计算字段处加一个占位符,后续SQL方言转换后再替换
|
||||||
originName = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, field.getId());
|
originName = String.format(SqlPlaceholderConstants.CALC_FIELD_PLACEHOLDER, field.getId());
|
||||||
fieldsDialect.put(originName, calcFieldExp);
|
fieldsDialect.put(originName, calcFieldExp);
|
||||||
|
if (isCross) {
|
||||||
|
originName = calcFieldExp;
|
||||||
|
}
|
||||||
} else if (ObjectUtils.isNotEmpty(field.getExtField()) && Objects.equals(field.getExtField(), ExtFieldConstant.EXT_COPY)) {
|
} else if (ObjectUtils.isNotEmpty(field.getExtField()) && Objects.equals(field.getExtField(), ExtFieldConstant.EXT_COPY)) {
|
||||||
originName = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), field.getDataeaseName());
|
originName = String.format(SQLConstants.FIELD_NAME, tableObj.getTableAlias(), field.getDataeaseName());
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user