You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by "julianhyde (via GitHub)" <gi...@apache.org> on 2023/06/16 18:27:03 UTC

[GitHub] [calcite] julianhyde commented on a diff in pull request #3263: [CALCITE-5778] Add ARRAY_JOIN, ARRAYS_OVERLAP, ARRAYS_ZIP function (e…

julianhyde commented on code in PR #3263:
URL: https://github.com/apache/calcite/pull/3263#discussion_r1232595295


##########
core/src/main/java/org/apache/calcite/runtime/SqlFunctions.java:
##########
@@ -3883,6 +3883,59 @@ private static AtomicLong getAtomicLong(String key) {
     return atomic;
   }
 
+  /** Support the ARRAYS_OVERLAP function. */
+  public static @Nullable Boolean arraysOverlap(List list1, List list2) {
+    final List bigger = list1.size() > list2.size() ? list1 : list2;
+    final List smaller = list1.size() > list2.size() ? list2 : list1;
+    boolean hasNull = false;

Review Comment:
   `retainAll` won't work because it mutates one list.
   
   However, we have `Util.intersects(Collection, Collection)`. It's even tested. However it assumes that there are no null values.
   
   Maybe you could quickly check for nulls and then call `Util.intersects` when you've determined that there are no nulls.
   



-- 
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: commits-unsubscribe@calcite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org