(improvement)(headless) Merge server and core in headless-api (#590)

(improvement)(headless) Merge server and core in headless-api

---------

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2024-01-02 20:08:23 +08:00
committed by GitHub
parent d72166944c
commit 52fea5311d
209 changed files with 803 additions and 854 deletions

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.enums;
package com.tencent.supersonic.headless.api.enums;
public enum AggOption {
NATIVE,

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.enums;
package com.tencent.supersonic.headless.api.enums;
public enum AppStatus {

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.enums;
package com.tencent.supersonic.headless.api.enums;
import com.tencent.supersonic.common.pojo.Constants;

View File

@@ -0,0 +1,9 @@
package com.tencent.supersonic.headless.api.enums;
public enum DimensionType {
categorical,
time
}

View File

@@ -0,0 +1,8 @@
package com.tencent.supersonic.headless.api.enums;
public enum IdentifyType {
primary,
foreign,
}

View File

@@ -0,0 +1,9 @@
package com.tencent.supersonic.headless.api.enums;
public enum MetricType {
ATOMIC,
DERIVED
}

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.enums;
package com.tencent.supersonic.headless.api.enums;
import java.util.Objects;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.enums;
package com.tencent.supersonic.headless.api.enums;
public enum QueryOptMode {

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.enums;
package com.tencent.supersonic.headless.api.enums;
public enum QueryType {

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.enums;
package com.tencent.supersonic.headless.api.enums;
public enum QueryTypeBack {

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.enums;
package com.tencent.supersonic.headless.api.enums;
public enum SemanticType {

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.google.common.collect.Lists;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import lombok.AllArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.enums.ApiItemType;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import java.util.List;
import lombok.AllArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import lombok.Data;

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.common.core.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.api.enums.AggOption;
import lombok.Data;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import java.util.List;
import com.google.common.collect.Lists;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.google.common.collect.Lists;
import com.tencent.supersonic.headless.common.server.enums.DimensionType;
import com.tencent.supersonic.headless.api.enums.DimensionType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import lombok.Data;
import lombok.ToString;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.pojo;
package com.tencent.supersonic.headless.api.pojo;
import com.google.common.base.Objects;
import com.tencent.supersonic.common.pojo.RecordInfo;

View File

@@ -0,0 +1,14 @@
package com.tencent.supersonic.headless.api.pojo;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import lombok.Data;
@Data
public class SingleItemQueryResult {
private Item item;
private QueryResultWithSchemaResp result;
}

View File

@@ -1,9 +1,9 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.PageBaseReq;
import com.tencent.supersonic.headless.common.server.enums.AppStatus;
import com.tencent.supersonic.headless.api.enums.AppStatus;
import lombok.Data;
import org.springframework.util.CollectionUtils;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.headless.common.server.pojo.AppConfig;
import com.tencent.supersonic.headless.api.pojo.AppConfig;
import lombok.Data;
import org.springframework.util.CollectionUtils;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.headless.common.server.enums.DataType;
import com.tencent.supersonic.headless.api.enums.DataType;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,8 +1,8 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
import com.tencent.supersonic.headless.common.server.pojo.DimValueMap;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import javax.validation.constraints.NotNull;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import java.util.ArrayList;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import lombok.Data;

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.headless.common.server.enums.QueryType;
import com.tencent.supersonic.headless.api.enums.QueryType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import java.util.List;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import lombok.Data;
import java.util.List;

View File

@@ -1,8 +1,8 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.DataFormat;
import com.tencent.supersonic.headless.common.server.pojo.RelateDimension;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.RelateDimension;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;

View File

@@ -1,12 +1,13 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.ColumnOrder;
import java.util.List;
import java.util.Map;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class MetricReq {
public class MetricQueryReq {
private List<String> metrics;
private List<String> dimensions;

View File

@@ -1,9 +1,9 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.headless.common.server.enums.MetricType;
import com.tencent.supersonic.headless.common.server.pojo.Measure;
import com.tencent.supersonic.headless.common.server.pojo.MetricTypeParams;
import com.tencent.supersonic.headless.api.enums.MetricType;
import com.tencent.supersonic.headless.api.pojo.Measure;
import com.tencent.supersonic.headless.api.pojo.MetricTypeParams;
import lombok.Data;
import java.util.List;

View File

@@ -1,11 +1,11 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.headless.common.server.pojo.Dim;
import com.tencent.supersonic.headless.common.server.pojo.DrillDownDimension;
import com.tencent.supersonic.headless.common.server.pojo.ModelDetail;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.DrillDownDimension;
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
import com.tencent.supersonic.headless.api.pojo.Dim;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.PageBaseReq;

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.headless.common.core.pojo.MetricTable;
import com.tencent.supersonic.headless.api.pojo.MetricTable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.alibaba.fastjson.JSONObject;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.google.common.collect.Lists;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.request;
package com.tencent.supersonic.headless.api.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.Aggregator;
@@ -12,8 +12,8 @@ import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateModeUtils;
import com.tencent.supersonic.common.util.SqlFilterUtils;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserAddHelper;
import com.tencent.supersonic.headless.common.core.pojo.Cache;
import com.tencent.supersonic.headless.common.core.pojo.Param;
import com.tencent.supersonic.headless.api.pojo.Cache;
import com.tencent.supersonic.headless.api.pojo.Param;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import javax.validation.constraints.NotBlank;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.request;
package com.tencent.supersonic.headless.api.request;
import java.util.Date;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import lombok.Data;

View File

@@ -1,10 +1,10 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.headless.common.server.enums.AppStatus;
import com.tencent.supersonic.headless.common.server.pojo.AppConfig;
import com.tencent.supersonic.headless.api.enums.AppStatus;
import com.tencent.supersonic.headless.api.pojo.AppConfig;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.RecordInfo;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import lombok.Data;
import lombok.ToString;

View File

@@ -1,9 +1,9 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
import com.tencent.supersonic.headless.common.server.pojo.DimValueMap;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.tencent.supersonic.headless.common.server.pojo.Entity;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.Entity;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.common.core.response;
package com.tencent.supersonic.headless.api.response;
import com.tencent.supersonic.headless.common.core.pojo.SingleItemQueryResult;
import com.tencent.supersonic.headless.api.pojo.SingleItemQueryResult;
import lombok.Builder;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.response;
package com.tencent.supersonic.headless.api.response;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import lombok.Data;

View File

@@ -1,14 +1,14 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.tencent.supersonic.common.pojo.DataFormat;
import com.tencent.supersonic.headless.common.server.pojo.DrillDownDimension;
import com.tencent.supersonic.headless.common.server.pojo.Measure;
import com.tencent.supersonic.headless.common.server.pojo.MetricTypeParams;
import com.tencent.supersonic.headless.common.server.pojo.RelateDimension;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.DrillDownDimension;
import com.tencent.supersonic.headless.api.pojo.Measure;
import com.tencent.supersonic.headless.api.pojo.MetricTypeParams;
import com.tencent.supersonic.headless.api.pojo.RelateDimension;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.collections.CollectionUtils;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import lombok.Data;
import lombok.ToString;

View File

@@ -1,11 +1,11 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.headless.common.server.pojo.Dim;
import com.tencent.supersonic.headless.common.server.pojo.DrillDownDimension;
import com.tencent.supersonic.headless.common.server.pojo.Identify;
import com.tencent.supersonic.headless.common.server.pojo.ModelDetail;
import com.tencent.supersonic.headless.common.server.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.Dim;
import com.tencent.supersonic.headless.api.pojo.DrillDownDimension;
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
import com.tencent.supersonic.headless.api.pojo.SchemaItem;
import com.tencent.supersonic.headless.api.pojo.Identify;
import lombok.Data;
import org.springframework.util.CollectionUtils;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import lombok.Data;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.tencent.supersonic.common.pojo.ModelRela;
import com.tencent.supersonic.headless.common.server.pojo.Identify;
import com.tencent.supersonic.headless.api.pojo.Identify;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,11 +1,11 @@
package com.tencent.supersonic.headless.common.server.response;
package com.tencent.supersonic.headless.api.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.QueryAuthorization;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.headless.common.server.enums.SemanticType;
import com.tencent.supersonic.headless.common.server.pojo.QueryResult;
import com.tencent.supersonic.headless.api.enums.SemanticType;
import com.tencent.supersonic.headless.api.pojo.QueryResult;
import lombok.Data;
import lombok.ToString;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.common.core.response;
package com.tencent.supersonic.headless.api.response;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,15 +0,0 @@
package com.tencent.supersonic.headless.common.core.pojo;
import com.tencent.supersonic.headless.common.server.pojo.Item;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import lombok.Data;
@Data
public class SingleItemQueryResult {
private Item item;
private QueryResultWithSchemaResp result;
}

View File

@@ -1,17 +0,0 @@
package com.tencent.supersonic.headless.common.core.request;
import com.tencent.supersonic.common.pojo.enums.ApiItemType;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
public class MetaQueryApiReq {
@NotEmpty(message = "ids不可为空")
private List<Long> ids;
private ApiItemType type = ApiItemType.METRIC;
}

View File

@@ -1,9 +0,0 @@
package com.tencent.supersonic.headless.common.server.enums;
public enum DimensionType {
categorical,
time
}

View File

@@ -1,8 +0,0 @@
package com.tencent.supersonic.headless.common.server.enums;
public enum IdentifyType {
primary,
foreign,
}

View File

@@ -1,9 +0,0 @@
package com.tencent.supersonic.headless.common.server.enums;
public enum MetricType {
ATOMIC,
DERIVED
}

View File

@@ -3,8 +3,8 @@ package com.tencent.supersonic.headless.core.aspect;
import com.tencent.supersonic.common.pojo.Pair;
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
import com.tencent.supersonic.common.util.SignatureUtils;
import com.tencent.supersonic.headless.common.server.enums.AppStatus;
import com.tencent.supersonic.headless.common.server.response.AppDetailResp;
import com.tencent.supersonic.headless.api.enums.AppStatus;
import com.tencent.supersonic.headless.api.response.AppDetailResp;
import com.tencent.supersonic.headless.server.service.AppService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

View File

@@ -16,10 +16,10 @@ import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.AuthType;
import com.tencent.supersonic.common.pojo.enums.SensitiveLevelEnum;
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
import com.tencent.supersonic.headless.common.server.response.DimensionResp;
import com.tencent.supersonic.headless.common.server.response.MetricResp;
import com.tencent.supersonic.headless.common.server.response.ModelResp;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.api.response.DimensionResp;
import com.tencent.supersonic.headless.api.response.MetricResp;
import com.tencent.supersonic.headless.api.response.ModelResp;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
import com.tencent.supersonic.headless.server.service.DimensionService;
import com.tencent.supersonic.headless.server.service.MetricService;

View File

@@ -8,11 +8,11 @@ import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.common.util.jsqlparser.FieldExpression;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserReplaceHelper;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserSelectHelper;
import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import com.tencent.supersonic.headless.common.server.pojo.DimValueMap;
import com.tencent.supersonic.headless.common.server.response.DimensionResp;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.api.request.QueryS2SQLReq;
import com.tencent.supersonic.headless.api.request.QueryStructReq;
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
import com.tencent.supersonic.headless.api.response.DimensionResp;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
import com.tencent.supersonic.headless.server.service.DimensionService;
import lombok.extern.slf4j.Slf4j;

View File

@@ -7,10 +7,10 @@ import com.tencent.supersonic.auth.api.authorization.response.AuthorizedResource
import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserAddHelper;
import com.tencent.supersonic.headless.common.core.request.QueryS2SQLReq;
import com.tencent.supersonic.headless.common.server.response.DimensionResp;
import com.tencent.supersonic.headless.common.server.response.ModelResp;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.api.request.QueryS2SQLReq;
import com.tencent.supersonic.headless.api.response.DimensionResp;
import com.tencent.supersonic.headless.api.response.ModelResp;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.core.utils.QueryStructUtils;
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
import com.tencent.supersonic.headless.server.pojo.ModelFilter;

View File

@@ -7,10 +7,10 @@ import com.tencent.supersonic.auth.api.authorization.response.AuthorizedResource
import com.tencent.supersonic.common.pojo.Filter;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import com.tencent.supersonic.headless.common.server.response.DimensionResp;
import com.tencent.supersonic.headless.common.server.response.ModelResp;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.api.request.QueryStructReq;
import com.tencent.supersonic.headless.api.response.DimensionResp;
import com.tencent.supersonic.headless.api.response.ModelResp;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.core.utils.QueryStructUtils;
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
import com.tencent.supersonic.headless.server.service.DimensionService;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.core.executor;
import com.tencent.supersonic.headless.common.server.response.DatabaseResp;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.api.response.DatabaseResp;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
import com.tencent.supersonic.headless.server.service.Catalog;
import com.tencent.supersonic.headless.server.utils.SqlUtils;

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.core.executor;
import com.tencent.supersonic.headless.common.server.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.api.response.QueryResultWithSchemaResp;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
import com.tencent.supersonic.headless.server.service.Catalog;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.core.optimizer;
import com.google.common.base.Strings;
import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import com.tencent.supersonic.headless.api.request.QueryStructReq;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
import java.util.Objects;

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.core.optimizer;
import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import com.tencent.supersonic.headless.api.request.QueryStructReq;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
public interface QueryOptimizer {

View File

@@ -1,11 +1,11 @@
package com.tencent.supersonic.headless.core.parser;
import com.tencent.supersonic.common.util.StringUtil;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.common.core.pojo.MetricTable;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.common.core.request.ParseSqlReq;
import com.tencent.supersonic.headless.common.core.request.QueryStructReq;
import com.tencent.supersonic.headless.api.enums.AggOption;
import com.tencent.supersonic.headless.api.pojo.MetricTable;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.api.request.ParseSqlReq;
import com.tencent.supersonic.headless.api.request.QueryStructReq;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
import com.tencent.supersonic.headless.core.utils.ComponentFactory;
import com.tencent.supersonic.headless.server.service.Catalog;
@@ -38,7 +38,7 @@ public class QueryParser {
queryStatement.setParseSqlReq(new ParseSqlReq());
}
if (Objects.isNull(queryStatement.getMetricReq())) {
queryStatement.setMetricReq(new MetricReq());
queryStatement.setMetricReq(new MetricQueryReq());
}
log.info("SemanticConverter before [{}]", queryStructReq);
for (HeadlessConverter headlessConverter : ComponentFactory.getSemanticConverters()) {
@@ -65,7 +65,7 @@ public class QueryParser {
List<String[]> tables = new ArrayList<>();
String sourceId = "";
for (MetricTable metricTable : sqlCommend.getTables()) {
MetricReq metricReq = new MetricReq();
MetricQueryReq metricReq = new MetricQueryReq();
metricReq.setMetrics(metricTable.getMetrics());
metricReq.setDimensions(metricTable.getDimensions());
metricReq.setWhere(StringUtil.formatSqlQuota(metricTable.getWhere()));
@@ -117,7 +117,7 @@ public class QueryParser {
}
public QueryStatement parser(QueryStatement queryStatement, AggOption isAgg) {
MetricReq metricCommand = queryStatement.getMetricReq();
MetricQueryReq metricCommand = queryStatement.getMetricReq();
log.info("parser MetricReq [{}] isAgg [{}]", metricCommand, isAgg);
if (metricCommand.getRootPath().isEmpty()) {
queryStatement.setErrMsg("rootPath empty");

View File

@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.core.parser;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.api.enums.AggOption;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
import com.tencent.supersonic.headless.server.service.Catalog;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.core.parser.calcite;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.api.enums.AggOption;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.core.parser.SqlParser;
import com.tencent.supersonic.headless.core.parser.calcite.planner.AggPlanner;
import com.tencent.supersonic.headless.core.parser.calcite.s2sql.HeadlessModel;
@@ -23,7 +23,7 @@ public class CalciteSqlParser implements SqlParser {
@Override
public QueryStatement explain(QueryStatement queryStatement, AggOption isAgg, Catalog catalog) throws Exception {
MetricReq metricReq = queryStatement.getMetricReq();
MetricQueryReq metricReq = queryStatement.getMetricReq();
HeadlessModel headlessModel = headlessSchemaManager.get(metricReq.getRootPath());
if (headlessModel == null) {
queryStatement.setErrMsg("semanticSchema not found");

View File

@@ -1,8 +1,8 @@
package com.tencent.supersonic.headless.core.parser.calcite.planner;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.api.enums.AggOption;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.core.parser.calcite.Configuration;
import com.tencent.supersonic.headless.core.parser.calcite.schema.SchemaBuilder;
import com.tencent.supersonic.headless.core.parser.calcite.sql.Renderer;
@@ -39,7 +39,7 @@ import org.apache.calcite.sql2rel.SqlToRelConverter;
@Slf4j
public class AggPlanner implements Planner {
private MetricReq metricReq;
private MetricQueryReq metricReq;
private HeadlessSchema schema;
private SqlValidatorScope scope;
private Stack<TableView> dataSets = new Stack<>();

View File

@@ -1,8 +1,8 @@
package com.tencent.supersonic.headless.core.parser.calcite.planner;
import com.tencent.supersonic.common.util.calcite.SqlParseUtils;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.api.enums.AggOption;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.core.parser.calcite.Configuration;
import com.tencent.supersonic.headless.core.parser.calcite.schema.SchemaBuilder;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
@@ -97,7 +97,7 @@ public class MaterializationPlanner implements Planner {
return;
}
Set<String> fields = new HashSet<>();
MetricReq metricCommand = queryStatement.getMetricReq();
MetricQueryReq metricCommand = queryStatement.getMetricReq();
if (!Objects.isNull(metricCommand.getWhere()) && !metricCommand.getWhere().isEmpty()) {
fields.addAll(SqlParseUtils.getFilterField(metricCommand.getWhere()));
}
@@ -286,7 +286,7 @@ public class MaterializationPlanner implements Planner {
relBuilder.literal(timeRange.getEnd())));
}
public boolean check(MetricReq metricCommand, Materialization materialization, String elem,
public boolean check(MetricQueryReq metricCommand, Materialization materialization, String elem,
List<ImmutablePair<String, String>> timeRanges)
throws SqlParseException {
boolean isMatch = false;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.core.parser.calcite.planner;
import com.tencent.supersonic.headless.common.core.enums.AggOption;
import com.tencent.supersonic.headless.api.enums.AggOption;
import com.tencent.supersonic.headless.core.persistence.pojo.QueryStatement;
import com.tencent.supersonic.headless.core.parser.calcite.schema.HeadlessSchema;

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.core.parser.calcite.sql;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.core.parser.calcite.sql.node.MeasureNode;
import com.tencent.supersonic.headless.core.parser.calcite.sql.node.MetricNode;
import com.tencent.supersonic.headless.core.parser.calcite.sql.node.SemanticNode;
@@ -101,6 +101,6 @@ public abstract class Renderer {
return SemanticNode.buildAs(alias, tableView.build());
}
public abstract void render(MetricReq metricCommand, List<DataSource> dataSources, SqlValidatorScope scope,
HeadlessSchema schema, boolean nonAgg) throws Exception;
public abstract void render(MetricQueryReq metricCommand, List<DataSource> dataSources, SqlValidatorScope scope,
HeadlessSchema schema, boolean nonAgg) throws Exception;
}

View File

@@ -2,7 +2,7 @@ package com.tencent.supersonic.headless.core.parser.calcite.sql.node;
import com.google.common.collect.Lists;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.core.parser.calcite.Configuration;
import com.tencent.supersonic.headless.core.parser.calcite.s2sql.Constants;
import com.tencent.supersonic.headless.core.parser.calcite.s2sql.DataSource;
@@ -125,7 +125,7 @@ public class DataSourceNode extends SemanticNode {
return dataSourceList.stream().map(d -> d.getName()).collect(Collectors.joining("_"));
}
public static void getQueryDimensionMeasure(HeadlessSchema schema, MetricReq metricCommand,
public static void getQueryDimensionMeasure(HeadlessSchema schema, MetricQueryReq metricCommand,
Set<String> queryDimension, List<String> measures) {
queryDimension.addAll(metricCommand.getDimensions().stream()
.map(d -> d.contains(Constants.DIMENSION_IDENTIFY) ? d.split(Constants.DIMENSION_IDENTIFY)[1] : d)
@@ -137,7 +137,7 @@ public class DataSourceNode extends SemanticNode {
}
public static void mergeQueryFilterDimensionMeasure(HeadlessSchema schema, MetricReq metricCommand,
public static void mergeQueryFilterDimensionMeasure(HeadlessSchema schema, MetricQueryReq metricCommand,
Set<String> queryDimension, List<String> measures,
SqlValidatorScope scope) throws Exception {
if (Objects.nonNull(metricCommand.getWhere()) && !metricCommand.getWhere().isEmpty()) {
@@ -161,7 +161,7 @@ public class DataSourceNode extends SemanticNode {
}
public static List<DataSource> getMatchDataSources(SqlValidatorScope scope, HeadlessSchema schema,
MetricReq metricCommand) throws Exception {
MetricQueryReq metricCommand) throws Exception {
List<DataSource> dataSources = new ArrayList<>();
// check by metric
@@ -233,7 +233,7 @@ public class DataSourceNode extends SemanticNode {
Set<String> queryDimension,
List<String> measures,
Set<String> dimension,
MetricReq metricCommand,
MetricQueryReq metricCommand,
SqlValidatorScope scope) throws Exception {
boolean isAllMatch = true;
sourceMeasure.retainAll(measures);

View File

@@ -1,7 +1,7 @@
package com.tencent.supersonic.headless.core.parser.calcite.sql.render;
import com.tencent.supersonic.headless.common.core.request.MetricReq;
import com.tencent.supersonic.headless.api.request.MetricQueryReq;
import com.tencent.supersonic.headless.core.parser.calcite.s2sql.Constants;
import com.tencent.supersonic.headless.core.parser.calcite.s2sql.DataSource;
import com.tencent.supersonic.headless.core.parser.calcite.s2sql.Metric;
@@ -11,6 +11,10 @@ import com.tencent.supersonic.headless.core.parser.calcite.sql.TableView;
import com.tencent.supersonic.headless.core.parser.calcite.sql.node.FilterNode;
import com.tencent.supersonic.headless.core.parser.calcite.sql.node.MetricNode;
import com.tencent.supersonic.headless.core.parser.calcite.sql.node.SemanticNode;
import org.apache.calcite.sql.SqlIdentifier;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParserPos;
import org.apache.calcite.sql.validate.SqlValidatorScope;
import java.util.ArrayList;
import java.util.HashSet;
@@ -18,15 +22,11 @@ import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.calcite.sql.SqlIdentifier;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParserPos;
import org.apache.calcite.sql.validate.SqlValidatorScope;
public class FilterRender extends Renderer {
@Override
public void render(MetricReq metricCommand, List<DataSource> dataSources, SqlValidatorScope scope,
public void render(MetricQueryReq metricCommand, List<DataSource> dataSources, SqlValidatorScope scope,
HeadlessSchema schema, boolean nonAgg) throws Exception {
TableView tableView = super.tableView;
SqlNode filterNode = null;

Some files were not shown because too many files have changed in this diff Show More