gortiz commented on code in PR #12673:
URL: https://github.com/apache/pinot/pull/12673#discussion_r1533540774


##########
pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArrayFunctions.java:
##########
@@ -230,7 +230,7 @@ public static String arrayElementAtString(String[] arr, int 
idx) {
 
   @ScalarFunction(names = {"array", "arrayValueConstructor"}, isVarArg = true)
   public static Object arrayValueConstructor(Object... arr) {
-    if (arr.length == 0) {
+    if (arr == null || arr.length == 0 || arr[0] == null) {

Review Comment:
   My point is that `foo(1, null, 2, 3)` will also cause a NPE when doing 
`intArr[i] = (Integer) arr[i];`.
   
   It is very strange to do not throw NPE when the first element is null but do 
it when the second is. We should either always throw NPE when any value in the 
array is null (like before) or never do that



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to