From 9c10089707a70f5932739f6da5bca0cfafc51e25 Mon Sep 17 00:00:00 2001 From: beat4ocean Date: Wed, 5 Mar 2025 17:09:20 +0800 Subject: [PATCH] [improvement][headless] Current mainstream large models are not as intelligent, and setting this restriction leads to excessive query failures. --- .../translator/parser/SqlQueryParser.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java index b52e9bbea..8bab43edd 100644 --- a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java +++ b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java @@ -50,19 +50,19 @@ public class SqlQueryParser implements QueryParser { queryFields.removeAll(queryAliases); Ontology ontology = queryStatement.getOntology(); OntologyQuery ontologyQuery = buildOntologyQuery(ontology, queryFields); - // check if there are fields not matched with any metric or dimension - if (queryFields.size() > ontologyQuery.getMetrics().size() - + ontologyQuery.getDimensions().size()) { - List semanticFields = Lists.newArrayList(); - ontologyQuery.getMetrics().forEach(m -> semanticFields.add(m.getName())); - ontologyQuery.getDimensions().forEach(d -> semanticFields.add(d.getName())); - String errMsg = - String.format("Querying columns[%s] not matched with semantic fields[%s].", - queryFields, semanticFields); - queryStatement.setErrMsg(errMsg); - queryStatement.setStatus(QueryState.INVALID); - return; - } + // // check if there are fields not matched with any metric or dimension + // if (queryFields.size() > ontologyQuery.getMetrics().size() + // + ontologyQuery.getDimensions().size()) { + // List semanticFields = Lists.newArrayList(); + // ontologyQuery.getMetrics().forEach(m -> semanticFields.add(m.getName())); + // ontologyQuery.getDimensions().forEach(d -> semanticFields.add(d.getName())); + // String errMsg = + // String.format("Querying columns[%s] not matched with semantic fields[%s].", + // queryFields, semanticFields); + // queryStatement.setErrMsg(errMsg); + // queryStatement.setStatus(QueryState.INVALID); + // return; + // } queryStatement.setOntologyQuery(ontologyQuery); AggOption sqlQueryAggOption = getAggOption(sqlQuery.getSql(), ontologyQuery.getMetrics());