(improvement)(headless) Parse sql variable (#763)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2024-02-26 21:59:55 +08:00
committed by GitHub
parent 0beb3cefd3
commit 0541614dad
14 changed files with 111 additions and 64 deletions

View File

@@ -6,12 +6,11 @@ import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.pojo.Filter;
import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.enums.QueryType;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import lombok.Data;
@Data
public class QueryParam {
@@ -34,7 +33,6 @@ public class QueryParam {
// metric
private List<String> metrics = new ArrayList();
private List<String> dimensions;
private Map<String, String> variables;
private String where;
private List<ColumnOrder> order;
private boolean nativeQuery = false;

View File

@@ -5,7 +5,7 @@ package com.tencent.supersonic.headless.api.pojo.enums;
* sql_query : view sql begin as select
* table_query: dbName.tableName
*/
public enum DatasourceQuery {
public enum ModelDefineType {
SQL_QUERY("sql_query"),
TABLE_QUERY("table_query");
@@ -13,7 +13,7 @@ public enum DatasourceQuery {
private String name;
DatasourceQuery(String name) {
ModelDefineType(String name) {
this.name = name;
}

View File

@@ -1,10 +1,12 @@
package com.tencent.supersonic.headless.api.pojo.request;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.tencent.supersonic.headless.api.pojo.SqlVariable;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class SqlExecuteReq {
@@ -16,6 +18,8 @@ public class SqlExecuteReq {
@NotBlank(message = "sql can not be blank")
private String sql;
private List<SqlVariable> sqlVariables;
public String getSql() {
if (StringUtils.isNotBlank(sql) && sql.endsWith(";")) {
sql = sql.substring(0, sql.length() - 1);