[improvement][headless] Current mainstream large models are not as intelligent, and setting this restriction leads to excessive query failures.

This commit is contained in:
beat4ocean
2025-03-05 17:09:20 +08:00
parent 0e6050e8ce
commit 9c10089707

View File

@@ -50,19 +50,19 @@ public class SqlQueryParser implements QueryParser {
queryFields.removeAll(queryAliases); queryFields.removeAll(queryAliases);
Ontology ontology = queryStatement.getOntology(); Ontology ontology = queryStatement.getOntology();
OntologyQuery ontologyQuery = buildOntologyQuery(ontology, queryFields); OntologyQuery ontologyQuery = buildOntologyQuery(ontology, queryFields);
// check if there are fields not matched with any metric or dimension // // check if there are fields not matched with any metric or dimension
if (queryFields.size() > ontologyQuery.getMetrics().size() // if (queryFields.size() > ontologyQuery.getMetrics().size()
+ ontologyQuery.getDimensions().size()) { // + ontologyQuery.getDimensions().size()) {
List<String> semanticFields = Lists.newArrayList(); // List<String> semanticFields = Lists.newArrayList();
ontologyQuery.getMetrics().forEach(m -> semanticFields.add(m.getName())); // ontologyQuery.getMetrics().forEach(m -> semanticFields.add(m.getName()));
ontologyQuery.getDimensions().forEach(d -> semanticFields.add(d.getName())); // ontologyQuery.getDimensions().forEach(d -> semanticFields.add(d.getName()));
String errMsg = // String errMsg =
String.format("Querying columns[%s] not matched with semantic fields[%s].", // String.format("Querying columns[%s] not matched with semantic fields[%s].",
queryFields, semanticFields); // queryFields, semanticFields);
queryStatement.setErrMsg(errMsg); // queryStatement.setErrMsg(errMsg);
queryStatement.setStatus(QueryState.INVALID); // queryStatement.setStatus(QueryState.INVALID);
return; // return;
} // }
queryStatement.setOntologyQuery(ontologyQuery); queryStatement.setOntologyQuery(ontologyQuery);
AggOption sqlQueryAggOption = getAggOption(sqlQuery.getSql(), ontologyQuery.getMetrics()); AggOption sqlQueryAggOption = getAggOption(sqlQuery.getSql(), ontologyQuery.getMetrics());