mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 12:07:42 +00:00
[improvement][project]Adjust files based on code style.
This commit is contained in:
@@ -125,12 +125,9 @@ public class MemoryReviewTask {
|
|||||||
if (MemoryReviewResult.POSITIVE.equals(m.getLlmReviewRet())) {
|
if (MemoryReviewResult.POSITIVE.equals(m.getLlmReviewRet())) {
|
||||||
m.setStatus(MemoryStatus.ENABLED);
|
m.setStatus(MemoryStatus.ENABLED);
|
||||||
}
|
}
|
||||||
ChatMemoryUpdateReq memoryUpdateReq = ChatMemoryUpdateReq.builder()
|
ChatMemoryUpdateReq memoryUpdateReq = ChatMemoryUpdateReq.builder().id(m.getId())
|
||||||
.id(m.getId())
|
.status(m.getStatus()).llmReviewRet(m.getLlmReviewRet())
|
||||||
.status(m.getStatus())
|
.llmReviewCmt(m.getLlmReviewCmt()).build();
|
||||||
.llmReviewRet(m.getLlmReviewRet())
|
|
||||||
.llmReviewCmt(m.getLlmReviewCmt())
|
|
||||||
.build();
|
|
||||||
memoryService.updateMemory(memoryUpdateReq, User.getDefaultUser());
|
memoryService.updateMemory(memoryUpdateReq, User.getDefaultUser());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,16 +73,19 @@ public class MemoryServiceImpl implements MemoryService {
|
|||||||
updateWrapper.set(ChatMemoryDO::getStatus, chatMemoryUpdateReq.getStatus());
|
updateWrapper.set(ChatMemoryDO::getStatus, chatMemoryUpdateReq.getStatus());
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(chatMemoryUpdateReq.getLlmReviewRet())) {
|
if (Objects.nonNull(chatMemoryUpdateReq.getLlmReviewRet())) {
|
||||||
updateWrapper.set(ChatMemoryDO::getLlmReviewRet, chatMemoryUpdateReq.getLlmReviewRet().toString());
|
updateWrapper.set(ChatMemoryDO::getLlmReviewRet,
|
||||||
|
chatMemoryUpdateReq.getLlmReviewRet().toString());
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(chatMemoryUpdateReq.getLlmReviewCmt())) {
|
if (Objects.nonNull(chatMemoryUpdateReq.getLlmReviewCmt())) {
|
||||||
updateWrapper.set(ChatMemoryDO::getLlmReviewCmt, chatMemoryUpdateReq.getLlmReviewCmt());
|
updateWrapper.set(ChatMemoryDO::getLlmReviewCmt, chatMemoryUpdateReq.getLlmReviewCmt());
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(chatMemoryUpdateReq.getHumanReviewRet())) {
|
if (Objects.nonNull(chatMemoryUpdateReq.getHumanReviewRet())) {
|
||||||
updateWrapper.set(ChatMemoryDO::getHumanReviewRet, chatMemoryUpdateReq.getHumanReviewRet().toString());
|
updateWrapper.set(ChatMemoryDO::getHumanReviewRet,
|
||||||
|
chatMemoryUpdateReq.getHumanReviewRet().toString());
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(chatMemoryUpdateReq.getHumanReviewCmt())) {
|
if (Objects.nonNull(chatMemoryUpdateReq.getHumanReviewCmt())) {
|
||||||
updateWrapper.set(ChatMemoryDO::getHumanReviewCmt, chatMemoryUpdateReq.getHumanReviewCmt());
|
updateWrapper.set(ChatMemoryDO::getHumanReviewCmt,
|
||||||
|
chatMemoryUpdateReq.getHumanReviewCmt());
|
||||||
}
|
}
|
||||||
updateWrapper.set(ChatMemoryDO::getUpdatedAt, new Date());
|
updateWrapper.set(ChatMemoryDO::getUpdatedAt, new Date());
|
||||||
updateWrapper.set(ChatMemoryDO::getUpdatedBy, user.getName());
|
updateWrapper.set(ChatMemoryDO::getUpdatedBy, user.getName());
|
||||||
|
|||||||
@@ -21,12 +21,9 @@ public class ThreadPoolConfig {
|
|||||||
|
|
||||||
@Bean("mapExecutor")
|
@Bean("mapExecutor")
|
||||||
public ThreadPoolExecutor getMapExecutor() {
|
public ThreadPoolExecutor getMapExecutor() {
|
||||||
return new ThreadPoolExecutor(
|
return new ThreadPoolExecutor(8, 16, 60 * 3, TimeUnit.SECONDS, new LinkedBlockingQueue<>(),
|
||||||
8, 16, 60 * 3, TimeUnit.SECONDS,
|
|
||||||
new LinkedBlockingQueue<>(),
|
|
||||||
new ThreadFactoryBuilder().setNameFormat("supersonic-map-pool-").build(),
|
new ThreadFactoryBuilder().setNameFormat("supersonic-map-pool-").build(),
|
||||||
new ThreadPoolExecutor.CallerRunsPolicy()
|
new ThreadPoolExecutor.CallerRunsPolicy());
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean("chatExecutor")
|
@Bean("chatExecutor")
|
||||||
|
|||||||
@@ -219,8 +219,8 @@ public class SqlRemoveHelper {
|
|||||||
updateLikeExpression(likeExpression, constantExpression);
|
updateLikeExpression(likeExpression, constantExpression);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void handleBetweenExpression(Between between,
|
private static void handleBetweenExpression(Between between, Set<String> removeFieldNames)
|
||||||
Set<String> removeFieldNames) throws JSQLParserException {
|
throws JSQLParserException {
|
||||||
String columnName = SqlSelectHelper.getColumnName(between.getLeftExpression());
|
String columnName = SqlSelectHelper.getColumnName(between.getLeftExpression());
|
||||||
if (!removeFieldNames.contains(columnName)) {
|
if (!removeFieldNames.contains(columnName)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public abstract class BaseMatchStrategy<T extends MapResult> implements MatchStr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<MatchText, List<T>> match(ChatQueryContext chatQueryContext, List<S2Term> terms,
|
public Map<MatchText, List<T>> match(ChatQueryContext chatQueryContext, List<S2Term> terms,
|
||||||
Set<Long> detectDataSetIds) {
|
Set<Long> detectDataSetIds) {
|
||||||
String text = chatQueryContext.getRequest().getQueryText();
|
String text = chatQueryContext.getRequest().getQueryText();
|
||||||
if (Objects.isNull(terms) || StringUtils.isEmpty(text)) {
|
if (Objects.isNull(terms) || StringUtils.isEmpty(text)) {
|
||||||
return null;
|
return null;
|
||||||
@@ -43,7 +43,7 @@ public abstract class BaseMatchStrategy<T extends MapResult> implements MatchStr
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<T> detect(ChatQueryContext chatQueryContext, List<S2Term> terms,
|
public List<T> detect(ChatQueryContext chatQueryContext, List<S2Term> terms,
|
||||||
Set<Long> detectDataSetIds) {
|
Set<Long> detectDataSetIds) {
|
||||||
throw new RuntimeException("Not implemented");
|
throw new RuntimeException("Not implemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class EmbeddingMatchStrategy extends BatchMatchStrategy<EmbeddingResult>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<EmbeddingResult> detectByBatch(ChatQueryContext chatQueryContext,
|
public List<EmbeddingResult> detectByBatch(ChatQueryContext chatQueryContext,
|
||||||
Set<Long> detectDataSetIds, Set<String> detectSegments) {
|
Set<Long> detectDataSetIds, Set<String> detectSegments) {
|
||||||
Set<EmbeddingResult> results = ConcurrentHashMap.newKeySet();
|
Set<EmbeddingResult> results = ConcurrentHashMap.newKeySet();
|
||||||
int embeddingMapperBatch = Integer
|
int embeddingMapperBatch = Integer
|
||||||
.valueOf(mapperConfig.getParameterValue(MapperConfig.EMBEDDING_MAPPER_BATCH));
|
.valueOf(mapperConfig.getParameterValue(MapperConfig.EMBEDDING_MAPPER_BATCH));
|
||||||
@@ -65,7 +65,7 @@ public class EmbeddingMatchStrategy extends BatchMatchStrategy<EmbeddingResult>
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Callable<Void> createTask(ChatQueryContext chatQueryContext, Set<Long> detectDataSetIds,
|
private Callable<Void> createTask(ChatQueryContext chatQueryContext, Set<Long> detectDataSetIds,
|
||||||
List<String> queryTextsSub, Set<EmbeddingResult> results) {
|
List<String> queryTextsSub, Set<EmbeddingResult> results) {
|
||||||
return () -> {
|
return () -> {
|
||||||
List<EmbeddingResult> oneRoundResults =
|
List<EmbeddingResult> oneRoundResults =
|
||||||
detectByQueryTextsSub(detectDataSetIds, queryTextsSub, chatQueryContext);
|
detectByQueryTextsSub(detectDataSetIds, queryTextsSub, chatQueryContext);
|
||||||
@@ -77,7 +77,7 @@ public class EmbeddingMatchStrategy extends BatchMatchStrategy<EmbeddingResult>
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<EmbeddingResult> detectByQueryTextsSub(Set<Long> detectDataSetIds,
|
private List<EmbeddingResult> detectByQueryTextsSub(Set<Long> detectDataSetIds,
|
||||||
List<String> queryTextsSub, ChatQueryContext chatQueryContext) {
|
List<String> queryTextsSub, ChatQueryContext chatQueryContext) {
|
||||||
Map<Long, List<Long>> modelIdToDataSetIds = chatQueryContext.getModelIdToDataSetIds();
|
Map<Long, List<Long>> modelIdToDataSetIds = chatQueryContext.getModelIdToDataSetIds();
|
||||||
double threshold =
|
double threshold =
|
||||||
Double.valueOf(mapperConfig.getParameterValue(EMBEDDING_MAPPER_THRESHOLD));
|
Double.valueOf(mapperConfig.getParameterValue(EMBEDDING_MAPPER_THRESHOLD));
|
||||||
|
|||||||
@@ -23,19 +23,20 @@ public abstract class SingleMatchStrategy<T extends MapResult> extends BaseMatch
|
|||||||
protected MapperHelper mapperHelper;
|
protected MapperHelper mapperHelper;
|
||||||
|
|
||||||
public List<T> detect(ChatQueryContext chatQueryContext, List<S2Term> terms,
|
public List<T> detect(ChatQueryContext chatQueryContext, List<S2Term> terms,
|
||||||
Set<Long> detectDataSetIds) {
|
Set<Long> detectDataSetIds) {
|
||||||
Map<Integer, Integer> regOffsetToLength = mapperHelper.getRegOffsetToLength(terms);
|
Map<Integer, Integer> regOffsetToLength = mapperHelper.getRegOffsetToLength(terms);
|
||||||
String text = chatQueryContext.getRequest().getQueryText();
|
String text = chatQueryContext.getRequest().getQueryText();
|
||||||
Set<T> results = ConcurrentHashMap.newKeySet();
|
Set<T> results = ConcurrentHashMap.newKeySet();
|
||||||
List<Callable<Void>> tasks = new ArrayList<>();
|
List<Callable<Void>> tasks = new ArrayList<>();
|
||||||
|
|
||||||
for (int startIndex = 0; startIndex <= text.length() - 1; ) {
|
for (int startIndex = 0; startIndex <= text.length() - 1;) {
|
||||||
for (int index = startIndex; index <= text.length(); ) {
|
for (int index = startIndex; index <= text.length();) {
|
||||||
int offset = mapperHelper.getStepOffset(terms, startIndex);
|
int offset = mapperHelper.getStepOffset(terms, startIndex);
|
||||||
index = mapperHelper.getStepIndex(regOffsetToLength, index);
|
index = mapperHelper.getStepIndex(regOffsetToLength, index);
|
||||||
if (index <= text.length()) {
|
if (index <= text.length()) {
|
||||||
String detectSegment = text.substring(startIndex, index).trim();
|
String detectSegment = text.substring(startIndex, index).trim();
|
||||||
Callable<Void> task = createTask(chatQueryContext, detectDataSetIds, detectSegment, offset, results);
|
Callable<Void> task = createTask(chatQueryContext, detectDataSetIds,
|
||||||
|
detectSegment, offset, results);
|
||||||
tasks.add(task);
|
tasks.add(task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,7 +47,7 @@ public abstract class SingleMatchStrategy<T extends MapResult> extends BaseMatch
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Callable<Void> createTask(ChatQueryContext chatQueryContext, Set<Long> detectDataSetIds,
|
private Callable<Void> createTask(ChatQueryContext chatQueryContext, Set<Long> detectDataSetIds,
|
||||||
String detectSegment, int offset, Set<T> results) {
|
String detectSegment, int offset, Set<T> results) {
|
||||||
return () -> {
|
return () -> {
|
||||||
List<T> oneRoundResults =
|
List<T> oneRoundResults =
|
||||||
detectByStep(chatQueryContext, detectDataSetIds, detectSegment, offset);
|
detectByStep(chatQueryContext, detectDataSetIds, detectSegment, offset);
|
||||||
@@ -58,5 +59,5 @@ public abstract class SingleMatchStrategy<T extends MapResult> extends BaseMatch
|
|||||||
}
|
}
|
||||||
|
|
||||||
public abstract List<T> detectByStep(ChatQueryContext chatQueryContext,
|
public abstract List<T> detectByStep(ChatQueryContext chatQueryContext,
|
||||||
Set<Long> detectDataSetIds, String detectSegment, int offset);
|
Set<Long> detectDataSetIds, String detectSegment, int offset);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ package com.tencent.supersonic.headless.core.translator;
|
|||||||
|
|
||||||
import com.tencent.supersonic.common.calcite.SqlMergeWithUtils;
|
import com.tencent.supersonic.common.calcite.SqlMergeWithUtils;
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
||||||
import com.tencent.supersonic.headless.core.translator.optimizer.QueryOptimizer;
|
import com.tencent.supersonic.headless.core.translator.optimizer.QueryOptimizer;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.QueryParser;
|
import com.tencent.supersonic.headless.core.translator.parser.QueryParser;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import com.tencent.supersonic.headless.core.utils.ComponentFactory;
|
import com.tencent.supersonic.headless.core.utils.ComponentFactory;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import com.tencent.supersonic.common.util.ContextUtils;
|
|||||||
import com.tencent.supersonic.common.util.DateModeUtils;
|
import com.tencent.supersonic.common.util.DateModeUtils;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
||||||
import com.tencent.supersonic.headless.core.pojo.Database;
|
import com.tencent.supersonic.headless.core.pojo.Database;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.StructQuery;
|
import com.tencent.supersonic.headless.core.pojo.StructQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import com.tencent.supersonic.headless.core.utils.SqlGenerateUtils;
|
import com.tencent.supersonic.headless.core.utils.SqlGenerateUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.tencent.supersonic.headless.core.translator.parser;
|
package com.tencent.supersonic.headless.core.translator.parser;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.Ontology;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.RuntimeOptions;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.RuntimeOptions;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.SqlBuilder;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.SqlBuilder;
|
||||||
import com.tencent.supersonic.headless.core.pojo.Ontology;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ import com.tencent.supersonic.headless.api.pojo.SchemaItem;
|
|||||||
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.MetricType;
|
import com.tencent.supersonic.headless.api.pojo.enums.MetricType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.*;
|
import com.tencent.supersonic.headless.api.pojo.response.*;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import com.tencent.supersonic.headless.core.utils.SqlGenerateUtils;
|
import com.tencent.supersonic.headless.core.utils.SqlGenerateUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import com.tencent.supersonic.common.pojo.ColumnOrder;
|
|||||||
import com.tencent.supersonic.common.util.ContextUtils;
|
import com.tencent.supersonic.common.util.ContextUtils;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
||||||
import com.tencent.supersonic.headless.core.pojo.Database;
|
import com.tencent.supersonic.headless.core.pojo.Database;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
import com.tencent.supersonic.headless.core.pojo.SqlQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.StructQuery;
|
import com.tencent.supersonic.headless.core.pojo.StructQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import com.tencent.supersonic.headless.core.utils.SqlGenerateUtils;
|
import com.tencent.supersonic.headless.core.utils.SqlGenerateUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.tencent.supersonic.headless.core.translator.parser.calcite;
|
package com.tencent.supersonic.headless.core.translator.parser.calcite;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.JoinRelation;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.Ontology;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Dimension;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Dimension;
|
||||||
import com.tencent.supersonic.headless.core.pojo.JoinRelation;
|
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
||||||
import com.tencent.supersonic.headless.core.pojo.Ontology;
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.apache.calcite.schema.Schema;
|
import org.apache.calcite.schema.Schema;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.tencent.supersonic.common.calcite.Configuration;
|
|||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
import com.tencent.supersonic.headless.api.pojo.enums.AggOption;
|
||||||
import com.tencent.supersonic.headless.core.pojo.Database;
|
import com.tencent.supersonic.headless.core.pojo.Database;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.DataModelNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.DataModelNode;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.SemanticNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.SemanticNode;
|
||||||
@@ -13,7 +14,6 @@ import com.tencent.supersonic.headless.core.translator.parser.calcite.render.Ren
|
|||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.render.SourceRender;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.render.SourceRender;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Constants;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Constants;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.calcite.sql.SqlNode;
|
import org.apache.calcite.sql.SqlNode;
|
||||||
import org.apache.calcite.sql.parser.SqlParser;
|
import org.apache.calcite.sql.parser.SqlParser;
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public class DataModelNode extends SemanticNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void getQueryDimensionMeasure(Ontology ontology, OntologyQuery queryParam,
|
public static void getQueryDimensionMeasure(Ontology ontology, OntologyQuery queryParam,
|
||||||
Set<String> queryDimensions, Set<String> queryMeasures) {
|
Set<String> queryDimensions, Set<String> queryMeasures) {
|
||||||
queryDimensions.addAll(queryParam.getDimensions().stream()
|
queryDimensions.addAll(queryParam.getDimensions().stream()
|
||||||
.map(d -> d.contains(Constants.DIMENSION_IDENTIFY)
|
.map(d -> d.contains(Constants.DIMENSION_IDENTIFY)
|
||||||
? d.split(Constants.DIMENSION_IDENTIFY)[1]
|
? d.split(Constants.DIMENSION_IDENTIFY)[1]
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
||||||
|
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.FilterNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.FilterNode;
|
||||||
@@ -9,7 +10,6 @@ import com.tencent.supersonic.headless.core.translator.parser.calcite.node.Seman
|
|||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Constants;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Constants;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import org.apache.calcite.sql.SqlIdentifier;
|
import org.apache.calcite.sql.SqlIdentifier;
|
||||||
import org.apache.calcite.sql.SqlNode;
|
import org.apache.calcite.sql.SqlNode;
|
||||||
import org.apache.calcite.sql.parser.SqlParserPos;
|
import org.apache.calcite.sql.parser.SqlParserPos;
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
||||||
|
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.JoinRelation;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.AggFunctionNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.AggFunctionNode;
|
||||||
@@ -13,10 +15,8 @@ import com.tencent.supersonic.headless.core.translator.parser.s2sql.Constants;
|
|||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Dimension;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Dimension;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Identify;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Identify;
|
||||||
import com.tencent.supersonic.headless.core.pojo.JoinRelation;
|
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Materialization;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Materialization;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.calcite.sql.JoinConditionType;
|
import org.apache.calcite.sql.JoinConditionType;
|
||||||
import org.apache.calcite.sql.SqlBasicCall;
|
import org.apache.calcite.sql.SqlBasicCall;
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
|||||||
|
|
||||||
import com.tencent.supersonic.common.pojo.ColumnOrder;
|
import com.tencent.supersonic.common.pojo.ColumnOrder;
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.MetricNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.MetricNode;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.SemanticNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.SemanticNode;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.DataModel;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import org.apache.calcite.sql.SqlNode;
|
import org.apache.calcite.sql.SqlNode;
|
||||||
import org.apache.calcite.sql.SqlNodeList;
|
import org.apache.calcite.sql.SqlNodeList;
|
||||||
import org.apache.calcite.sql.fun.SqlStdOperatorTable;
|
import org.apache.calcite.sql.fun.SqlStdOperatorTable;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
||||||
|
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.MeasureNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.MeasureNode;
|
||||||
@@ -11,7 +12,6 @@ import com.tencent.supersonic.headless.core.translator.parser.s2sql.Dimension;
|
|||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Identify;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Identify;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Measure;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Measure;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.apache.calcite.sql.SqlNode;
|
import org.apache.calcite.sql.SqlNode;
|
||||||
import org.apache.calcite.sql.validate.SqlValidatorScope;
|
import org.apache.calcite.sql.validate.SqlValidatorScope;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
package com.tencent.supersonic.headless.core.translator.parser.calcite.render;
|
||||||
|
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.TableView;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.DataModelNode;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.node.DataModelNode;
|
||||||
@@ -16,7 +17,6 @@ import com.tencent.supersonic.headless.core.translator.parser.s2sql.Identify;
|
|||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Materialization;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Materialization;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Measure;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Measure;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
import com.tencent.supersonic.headless.core.translator.parser.s2sql.Metric;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.calcite.sql.SqlNode;
|
import org.apache.calcite.sql.SqlNode;
|
||||||
import org.apache.calcite.sql.validate.SqlValidatorScope;
|
import org.apache.calcite.sql.validate.SqlValidatorScope;
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ public class SemanticSchemaManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static List<JoinRelation> getJoinRelation(List<ModelRela> modelRelas,
|
private static List<JoinRelation> getJoinRelation(List<ModelRela> modelRelas,
|
||||||
Map<Long, String> modelIdName) {
|
Map<Long, String> modelIdName) {
|
||||||
List<JoinRelation> joinRelations = new ArrayList<>();
|
List<JoinRelation> joinRelations = new ArrayList<>();
|
||||||
modelRelas.stream().forEach(r -> {
|
modelRelas.stream().forEach(r -> {
|
||||||
if (modelIdName.containsKey(r.getFromModelId())
|
if (modelIdName.containsKey(r.getFromModelId())
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
package com.tencent.supersonic.headless.server.service.impl;
|
package com.tencent.supersonic.headless.server.service.impl;
|
||||||
|
|
||||||
|
import javax.sql.RowSetMetaData;
|
||||||
|
import javax.sql.rowset.CachedRowSet;
|
||||||
|
import javax.sql.rowset.RowSetFactory;
|
||||||
|
import javax.sql.rowset.RowSetMetaDataImpl;
|
||||||
|
import javax.sql.rowset.RowSetProvider;
|
||||||
|
|
||||||
import com.google.common.cache.Cache;
|
import com.google.common.cache.Cache;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.protobuf.ByteString;
|
import com.google.protobuf.ByteString;
|
||||||
@@ -44,11 +50,6 @@ import org.apache.arrow.vector.types.pojo.Schema;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.sql.RowSetMetaData;
|
|
||||||
import javax.sql.rowset.CachedRowSet;
|
|
||||||
import javax.sql.rowset.RowSetFactory;
|
|
||||||
import javax.sql.rowset.RowSetMetaDataImpl;
|
|
||||||
import javax.sql.rowset.RowSetProvider;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.ResultSetMetaData;
|
import java.sql.ResultSetMetaData;
|
||||||
|
|||||||
@@ -98,7 +98,8 @@ public class ModelServiceImpl implements ModelService {
|
|||||||
public ModelServiceImpl(ModelRepository modelRepository, DatabaseService databaseService,
|
public ModelServiceImpl(ModelRepository modelRepository, DatabaseService databaseService,
|
||||||
@Lazy DimensionService dimensionService, @Lazy MetricService metricService,
|
@Lazy DimensionService dimensionService, @Lazy MetricService metricService,
|
||||||
DomainService domainService, UserService userService, DataSetService dataSetService,
|
DomainService domainService, UserService userService, DataSetService dataSetService,
|
||||||
DateInfoRepository dateInfoRepository, ModelRelaService modelRelaService, ThreadPoolConfig threadPoolConfig) {
|
DateInfoRepository dateInfoRepository, ModelRelaService modelRelaService,
|
||||||
|
ThreadPoolConfig threadPoolConfig) {
|
||||||
this.modelRepository = modelRepository;
|
this.modelRepository = modelRepository;
|
||||||
this.databaseService = databaseService;
|
this.databaseService = databaseService;
|
||||||
this.dimensionService = dimensionService;
|
this.dimensionService = dimensionService;
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ package com.tencent.supersonic.headless.server.calcite;
|
|||||||
import com.tencent.supersonic.common.pojo.ColumnOrder;
|
import com.tencent.supersonic.common.pojo.ColumnOrder;
|
||||||
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
import com.tencent.supersonic.common.pojo.enums.EngineType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.SqlParserResp;
|
import com.tencent.supersonic.headless.api.pojo.response.SqlParserResp;
|
||||||
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
import com.tencent.supersonic.headless.core.pojo.QueryStatement;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.S2CalciteSchema;
|
||||||
import com.tencent.supersonic.headless.core.translator.parser.calcite.SqlBuilder;
|
import com.tencent.supersonic.headless.core.translator.parser.calcite.SqlBuilder;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
|
||||||
import com.tencent.supersonic.headless.server.manager.SemanticSchemaManager;
|
import com.tencent.supersonic.headless.server.manager.SemanticSchemaManager;
|
||||||
import com.tencent.supersonic.headless.server.pojo.yaml.*;
|
import com.tencent.supersonic.headless.server.pojo.yaml.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|||||||
Reference in New Issue
Block a user