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 3057f1ad7b Add isEqualSet Function (#14313) 3057f1ad7b is described below commit 3057f1ad7b256c0fedbdf293e8758d29f25a22a1 Author: ashishjayamohan <46698969+ashishjayamo...@users.noreply.github.com> AuthorDate: Mon Oct 28 17:37:38 2024 -0700 Add isEqualSet Function (#14313) --- .../main/java/org/apache/pinot/spi/utils/EqualityUtils.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/EqualityUtils.java b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/EqualityUtils.java index ab2a7249bd..03c04c2696 100644 --- a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/EqualityUtils.java +++ b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/EqualityUtils.java @@ -76,9 +76,9 @@ public class EqualityUtils { public static boolean isEqual(@Nullable Object left, @Nullable Object right) { if (left != null && right != null) { - // TODO: comparison of sets of arbitrary objects is not specifically supported since - // isEqualSet uses isEqualIgnoreOrder which requires sorting. - if ((left instanceof Map) && (right instanceof Map)) { + if ((left instanceof Set) && (right instanceof Set)) { + return EqualityUtils.isEqualSet((Set) left, (Set) right); + } else if ((left instanceof Map) && (right instanceof Map)) { return EqualityUtils.isEqualMap((Map) left, (Map) right); } else if ((left instanceof byte[]) && (right instanceof byte[])) { return Arrays.equals((byte[]) left, (byte[]) right); @@ -156,9 +156,12 @@ public class EqualityUtils { public static boolean isEqualSet(@Nullable Set left, @Nullable Set right) { if (left != null && right != null) { - return isEqualIgnoreOrder(Arrays.asList(left.toArray()), Arrays.asList(right.toArray())); + if (left.size() != right.size()) { + return false; + } + return right.containsAll(left); } - return left == right; + return false; } public static boolean isNullOrNotSameClass(@Nonnull Object left, @Nullable Object right) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org