Abhishek Chennaka has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/23483 )

Change subject: KUDU-1261 [Java] Add read support for Array Type
......................................................................


Patch Set 9:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/23483/6/java/kudu-client/src/main/java/org/apache/kudu/util/ArrayCellViewUtil.java
File java/kudu-client/src/main/java/org/apache/kudu/util/ArrayCellViewUtil.java:

http://gerrit.cloudera.org:8080/#/c/23483/6/java/kudu-client/src/main/java/org/apache/kudu/util/ArrayCellViewUtil.java@43
PS6, Line 43:       if (!view.isValid(i)) {
            :         throw new IllegalStateException("Null element at " + i);
            :       }
> I'm not sure it makes sense to have such behavior on null elements there an
Yes, this is resolved in the latest patch. We return a boxed wrapper array 
(e.g., Integer[]) for all the arraytypes with null elements populated, if 
present.


http://gerrit.cloudera.org:8080/#/c/23483/9/java/kudu-client/src/main/java/org/apache/kudu/util/ArrayCellViewUtil.java
File java/kudu-client/src/main/java/org/apache/kudu/util/ArrayCellViewUtil.java:

http://gerrit.cloudera.org:8080/#/c/23483/9/java/kudu-client/src/main/java/org/apache/kudu/util/ArrayCellViewUtil.java@111
PS9, Line 111:   public static boolean[] toBoolArray(ArrayCellView view) {
             :     int n = view.length();
             :     boolean[] result = new boolean[n];
             :     for (int i = 0; i < n; i++) {
             :       if (!view.isValid(i)) {
             :         throw new IllegalStateException("Null element at " + i);
             :       }
             :       result[i] = view.getBoolean(i);
             :     }
             :     return result;
             :   }
             :
             :   // -------------------
             :   // Reference types
             :   // -------------------
             :
             :   public static String[] toStringArray(ArrayCellView view) {
             :     int n = view.length();
             :     String[] result = new String[n];
             :     for (int i = 0; i < n; i++) {
             :       result[i] = view.isValid(i) ? view.getString(i) : null;
             :     }
             :     return result;
             :   }
> From the API design standpoint, this isn't quite a consistent behavior acro
Thanks for the inputs, this is fixed and addressed in the latest patch



--
To view, visit http://gerrit.cloudera.org:8080/23483
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie26750cf540b0097c77e5454c1c1d20b3a194c52
Gerrit-Change-Number: 23483
Gerrit-PatchSet: 9
Gerrit-Owner: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <[email protected]>
Gerrit-Comment-Date: Sun, 12 Oct 2025 23:20:26 +0000
Gerrit-HasComments: Yes

Reply via email to