mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
[improvement][chat]Modify core workflow of NL2SQLParser, always invoking rule-based parsers first.#1729
This commit is contained in:
@@ -60,15 +60,12 @@ public class QueryReqBuilder {
|
||||
queryStructReq.setGroups(parseInfo.getDimensions().stream().map(SchemaElement::getBizName)
|
||||
.collect(Collectors.toList()));
|
||||
queryStructReq.setLimit(parseInfo.getLimit());
|
||||
// only one metric is queried at once
|
||||
Set<SchemaElement> metrics = parseInfo.getMetrics();
|
||||
if (!CollectionUtils.isEmpty(metrics)) {
|
||||
SchemaElement metricElement = parseInfo.getMetrics().iterator().next();
|
||||
Set<Order> order =
|
||||
getOrder(parseInfo.getOrders(), parseInfo.getAggType(), metricElement);
|
||||
queryStructReq
|
||||
.setAggregators(getAggregatorByMetric(parseInfo.getAggType(), metricElement));
|
||||
queryStructReq.setOrders(new ArrayList<>(order));
|
||||
|
||||
for (SchemaElement metricElement : parseInfo.getMetrics()) {
|
||||
queryStructReq.getAggregators()
|
||||
.addAll(getAggregatorByMetric(parseInfo.getAggType(), metricElement));
|
||||
queryStructReq.setOrders(new ArrayList<>(
|
||||
getOrder(parseInfo.getOrders(), parseInfo.getAggType(), metricElement)));
|
||||
}
|
||||
|
||||
deletionDuplicated(queryStructReq);
|
||||
|
||||
Reference in New Issue
Block a user