From f7ed538e2d66a354f0cf74f5c29b7215ce8a7638 Mon Sep 17 00:00:00 2001 From: liyafan82 Date: Fri, 16 Aug 2019 14:40:55 +0800 Subject: [PATCH 1/2] [ARROW-6266][Java] Resolve the ambiguous method overload in RangeEqualsVisitor --- .../arrow/vector/ExtensionTypeVector.java | 2 +- .../vector/compare/RangeEqualsVisitor.java | 22 ++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java b/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java index 02dc8e3f438..4fd238946d2 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java @@ -260,6 +260,6 @@ public BufferAllocator getAllocator() { @Override public boolean accept(RangeEqualsVisitor visitor) { - return visitor.visit(getUnderlyingVector()); + return visitor.visitGeneral(getUnderlyingVector()); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java b/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java index 537746eff6c..9c5c8ce938b 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java @@ -112,7 +112,27 @@ public boolean visit(ZeroVector left) { return validate(left); } - public boolean visit(ValueVector left) { + /** + * Visit a general value vector. + * @param left the vector to compare. + * @return if the vector is equal to this. + */ + public boolean visitGeneral(ValueVector left) { + if (left instanceof BaseFixedWidthVector) { + return visit((BaseFixedWidthVector) left); + } else if (left instanceof BaseVariableWidthVector) { + return visit((BaseVariableWidthVector) left); + } else if (left instanceof ListVector) { + return visit((ListVector) left); + } else if (left instanceof FixedSizeListVector) { + return visit((FixedSizeListVector) left); + } else if (left instanceof NonNullableStructVector) { + return visit((NonNullableStructVector) left); + } else if (left instanceof UnionVector) { + return visit((UnionVector) left); + } else if (left instanceof ZeroVector) { + return visit((ZeroVector) left); + } throw new UnsupportedOperationException(); } From 6b5e5c5482f85b1776f0f629fac28edfc5ebbea3 Mon Sep 17 00:00:00 2001 From: liyafan82 Date: Fri, 16 Aug 2019 18:52:48 +0800 Subject: [PATCH 2/2] [ARROW-6266][Java] Remove the general visit mothod --- .../arrow/vector/ExtensionTypeVector.java | 2 +- .../vector/compare/RangeEqualsVisitor.java | 24 ------------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java b/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java index 4fd238946d2..e8a73dd8922 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/ExtensionTypeVector.java @@ -260,6 +260,6 @@ public BufferAllocator getAllocator() { @Override public boolean accept(RangeEqualsVisitor visitor) { - return visitor.visitGeneral(getUnderlyingVector()); + return getUnderlyingVector().accept(visitor); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java b/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java index 9c5c8ce938b..35a2c1a410e 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/compare/RangeEqualsVisitor.java @@ -112,30 +112,6 @@ public boolean visit(ZeroVector left) { return validate(left); } - /** - * Visit a general value vector. - * @param left the vector to compare. - * @return if the vector is equal to this. - */ - public boolean visitGeneral(ValueVector left) { - if (left instanceof BaseFixedWidthVector) { - return visit((BaseFixedWidthVector) left); - } else if (left instanceof BaseVariableWidthVector) { - return visit((BaseVariableWidthVector) left); - } else if (left instanceof ListVector) { - return visit((ListVector) left); - } else if (left instanceof FixedSizeListVector) { - return visit((FixedSizeListVector) left); - } else if (left instanceof NonNullableStructVector) { - return visit((NonNullableStructVector) left); - } else if (left instanceof UnionVector) { - return visit((UnionVector) left); - } else if (left instanceof ZeroVector) { - return visit((ZeroVector) left); - } - throw new UnsupportedOperationException(); - } - protected boolean compareValueVector(ValueVector left, ValueVector right) { if (!typeCheckNeeded) { return true;