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 2022/11/23 16:42:01 UTC

[streampipes] 06/06: [STREAMPIPES-566] Use time field index over fixed assignment

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

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit c6ad8b85a095b17a1ee71be58fffe6be8aa02a3f
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Wed Nov 23 08:05:29 2022 +0100

    [STREAMPIPES-566] Use time field index over fixed assignment
---
 .../dataexplorer/v4/query/StreamedQueryResultProvider.java       | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/StreamedQueryResultProvider.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/StreamedQueryResultProvider.java
index ada5ee6f5..5e48ec304 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/StreamedQueryResultProvider.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/StreamedQueryResultProvider.java
@@ -37,6 +37,7 @@ import static org.apache.streampipes.dataexplorer.v4.SupportedDataLakeQueryParam
 public class StreamedQueryResultProvider extends QueryResultProvider {
 
   private static final int MAX_RESULTS_PER_QUERY = 500000;
+  private static final String TIME_FIELD = "time";
 
   private final OutputFormat format;
 
@@ -107,7 +108,11 @@ public class StreamedQueryResultProvider extends QueryResultProvider {
    * @param measurement contains the actual timestamp name value
    * @param dataResult the query result of the database with 'time' as timestamp field name
    */
-  private void changeTimestampHeader(DataLakeMeasure measurement, SpQueryResult dataResult) {
-    dataResult.getHeaders().set(0, measurement.getTimestampFieldName());
+  private void changeTimestampHeader(DataLakeMeasure measurement,
+                                     SpQueryResult dataResult) {
+    var timeFieldIndex = dataResult.getHeaders().indexOf(TIME_FIELD);
+    if (timeFieldIndex > -1) {
+      dataResult.getHeaders().set(timeFieldIndex, measurement.getTimestampFieldName());
+    }
   }
 }