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 <17555551+jackie-ji...@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-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to