You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2023/04/11 09:00:29 UTC

[streampipes] 01/01: [hotfix] Fix handling of count queries in data explorer

This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch fix-parsing-of-count-queries
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 8a614c14cd36a3efbb3d1e8a0d4fa2fb9bfedf4b
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Tue Apr 11 11:00:03 2023 +0200

    [hotfix] Fix handling of count queries in data explorer
---
 .../dataexplorer/param/model/SelectColumn.java     | 24 ++++++++++++++++++++--
 .../query/DataExplorerQueryExecutor.java           |  3 ++-
 .../widgets/table/table-widget.component.html      |  2 +-
 3 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
index fe7be2da4..1fb7661e9 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
@@ -67,15 +67,35 @@ public class SelectColumn implements IQueryStatement {
 
   public static SelectColumn fromApiQueryString(String queryString,
                                                 String globalAggregationFunction) {
+    SelectColumn column = SelectColumn.fromApiQueryString(queryString);
     AggregationFunction aggregationFunction = AggregationFunction.valueOf(globalAggregationFunction);
-    String targetField = aggregationFunction.name().toLowerCase() + "_" + queryString;
-    return new SelectColumn(queryString, AggregationFunction.valueOf(globalAggregationFunction), targetField);
+    column.setAggregationFunction(aggregationFunction);
+    column.setTargetField(aggregationFunction.name().toLowerCase() + "_" + column.getOriginalField());
+    column.setRename(true);
+    column.setSimpleField(false);
+    return column;
   }
 
   public String getOriginalField() {
     return originalField;
   }
 
+  public void setAggregationFunction(AggregationFunction aggregationFunction) {
+    this.aggregationFunction = aggregationFunction;
+  }
+
+  public void setTargetField(String targetField) {
+    this.targetField = targetField;
+  }
+
+  public void setSimpleField(boolean simpleField) {
+    this.simpleField = simpleField;
+  }
+
+  public void setRename(boolean rename) {
+    this.rename = rename;
+  }
+
   @Override
   public void buildStatement(IDataLakeQueryBuilder<?> builder) {
     if (this.simpleField) {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
index 29d7de50f..f0aecf237 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
@@ -57,7 +57,8 @@ public abstract class DataExplorerQueryExecutor<X, W> {
       X countQuery = makeCountQuery(params);
       W countQueryResult = executeQuery(countQuery);
       var limit = params.getLimit();
-      Double amountOfQueryResults = limit == Integer.MIN_VALUE ? getAmountOfResults(countQueryResult) : limit;
+      var amountOfResults = getAmountOfResults(countQueryResult);
+      Double amountOfQueryResults = limit == Integer.MIN_VALUE ? amountOfResults : Math.min(amountOfResults, limit);
 
       if (amountOfQueryResults > this.maximumAmountOfEvents) {
         SpQueryResult tooMuchData = new SpQueryResult();
diff --git a/ui/src/app/data-explorer/components/widgets/table/table-widget.component.html b/ui/src/app/data-explorer/components/widgets/table/table-widget.component.html
index 1b44a9132..7fcada6fe 100644
--- a/ui/src/app/data-explorer/components/widgets/table/table-widget.component.html
+++ b/ui/src/app/data-explorer/components/widgets/table/table-widget.component.html
@@ -120,7 +120,7 @@
             <tr mat-row *matRowDef="let row; columns: columnNames"></tr>
         </table>
         <mat-paginator
-            *ngIf="showData"
+            color="accent"
             [length]="100"
             [pageSize]="500"
             [pageSizeOptions]="[10, 20, 50, 100, 500, 1000]"