|
20 | 20 | import io.cloudbeaver.DBWebException; |
21 | 21 | import io.cloudbeaver.model.WebAsyncTaskInfo; |
22 | 22 | import io.cloudbeaver.model.WebConnectionInfo; |
| 23 | +import io.cloudbeaver.model.WebTransactionLogInfo; |
23 | 24 | import io.cloudbeaver.model.session.WebAsyncTaskProcessor; |
24 | 25 | import io.cloudbeaver.model.session.WebSession; |
25 | 26 | import io.cloudbeaver.service.WebServiceBindingBase; |
|
42 | 43 | import org.jkiss.dbeaver.model.impl.sql.BasicSQLDialect; |
43 | 44 | import org.jkiss.dbeaver.model.navigator.DBNModel; |
44 | 45 | import org.jkiss.dbeaver.model.navigator.DBNNode; |
45 | | -import io.cloudbeaver.model.WebTransactionLogInfo; |
46 | 46 | import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; |
47 | 47 | import org.jkiss.dbeaver.model.sql.*; |
48 | 48 | import org.jkiss.dbeaver.model.sql.completion.SQLCompletionAnalyzer; |
@@ -555,13 +555,18 @@ public String generateGroupByQuery( |
555 | 555 | try { |
556 | 556 |
|
557 | 557 | WebSQLResultsInfo resultsInfo = contextInfo.getResults(resultsId); |
| 558 | + List<SQLGroupingAttribute> groupingAttributes = Arrays.stream(resultsInfo.getAttributes()) |
| 559 | + .filter(attr -> columnsList.contains(WebSQLUtils.getColumnName(attr))) |
| 560 | + .map(SQLGroupingAttribute::makeBound) |
| 561 | + .toList(); |
| 562 | + |
558 | 563 | var dataSource = contextInfo.getProcessor().getConnection().getDataSource(); |
559 | 564 | var groupingQueryGenerator = new SQLGroupingQueryGenerator( |
560 | 565 | dataSource, |
561 | 566 | resultsInfo.getDataContainer(), |
562 | 567 | getSqlDialectFromConnection(dataSource.getContainer()), |
563 | 568 | contextInfo.getProcessor().getSyntaxManager(), |
564 | | - columnsList.stream().map(s -> SQLGroupingAttribute.makeCustom(dataSource, s)).toList(), |
| 569 | + groupingAttributes, |
565 | 570 | functions == null ? List.of(SQLGroupingQueryGenerator.DEFAULT_FUNCTION) : functions, // backward compatibility |
566 | 571 | CommonUtils.getBoolean(showDuplicatesOnly, false)); |
567 | 572 | return groupingQueryGenerator.generateGroupingQuery(resultsInfo.getQueryText()); |
|
0 commit comments