You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ja...@apache.org on 2022/11/24 00:07:48 UTC

[pinot] branch master updated: Fix a typo in JsonExtractKeyTransformFunction (#9856)

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

jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 0d3e4a3cff Fix a typo in JsonExtractKeyTransformFunction (#9856)
0d3e4a3cff is described below

commit 0d3e4a3cff5e38c2656a5fac1ed7404e57654e9e
Author: Xiaotian (Jackie) Jiang <17...@users.noreply.github.com>
AuthorDate: Wed Nov 23 16:07:40 2022 -0800

    Fix a typo in JsonExtractKeyTransformFunction (#9856)
---
 .../function/JsonExtractKeyTransformFunction.java  |  2 +-
 .../JsonExtractScalarTransformFunctionTest.java    | 25 ++++++++++++----------
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java
index 55a8d21e15..eedadfc487 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java
@@ -87,7 +87,7 @@ public class JsonExtractKeyTransformFunction extends BaseTransformFunction {
   public String[][] transformToStringValuesMV(ProjectionBlock projectionBlock) {
     int length = projectionBlock.getNumDocs();
 
-    if (_stringValuesMV == null || _stringValuesSV.length < length) {
+    if (_stringValuesMV == null) {
       _stringValuesMV = new String[length][];
     }
 
diff --git a/pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/JsonExtractScalarTransformFunctionTest.java b/pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/JsonExtractScalarTransformFunctionTest.java
index c26238b532..12effbf8a5 100644
--- a/pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/JsonExtractScalarTransformFunctionTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/JsonExtractScalarTransformFunctionTest.java
@@ -365,17 +365,20 @@ public class JsonExtractScalarTransformFunctionTest extends BaseTransformFunctio
     TransformFunction transformFunction = TransformFunctionFactory.get(expression, _dataSourceMap);
     Assert.assertTrue(transformFunction instanceof JsonExtractKeyTransformFunction);
     Assert.assertEquals(transformFunction.getName(), JsonExtractKeyTransformFunction.FUNCTION_NAME);
-    String[][] keysResults = transformFunction.transformToStringValuesMV(_projectionBlock);
-    for (int i = 0; i < NUM_ROWS; i++) {
-      List<String> keys = Arrays.asList(keysResults[i]);
-      Assert.assertTrue(keys.contains(String.format("$['%s']", INT_SV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", LONG_SV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", FLOAT_SV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", DOUBLE_SV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", BIG_DECIMAL_SV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", STRING_SV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", INT_MV_COLUMN)));
-      Assert.assertTrue(keys.contains(String.format("$['%s']", TIME_COLUMN)));
+    // Transform the same block multiple times should give the same result
+    for (int i = 0; i < 10; i++) {
+      String[][] keysResults = transformFunction.transformToStringValuesMV(_projectionBlock);
+      for (int j = 0; j < NUM_ROWS; j++) {
+        List<String> keys = Arrays.asList(keysResults[j]);
+        Assert.assertTrue(keys.contains(String.format("$['%s']", INT_SV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", LONG_SV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", FLOAT_SV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", DOUBLE_SV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", BIG_DECIMAL_SV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", STRING_SV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", INT_MV_COLUMN)));
+        Assert.assertTrue(keys.contains(String.format("$['%s']", TIME_COLUMN)));
+      }
     }
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org