http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java b/common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java index af4e0e7..a31e6e8 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java @@ -28,20 +28,20 @@ import org.apache.drill.common.expression.NullExpression; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.common.expression.TypedNullConstant; import org.apache.drill.common.expression.ValueExpressions.BooleanExpression; -import org.apache.drill.common.expression.ValueExpressions.FloatExpression; -import org.apache.drill.common.expression.ValueExpressions.IntExpression; -import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; -import org.apache.drill.common.expression.ValueExpressions.LongExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeExpression; import org.apache.drill.common.expression.ValueExpressions.DateExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; -import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal18Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal28Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal38Expression; +import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; +import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; +import org.apache.drill.common.expression.ValueExpressions.FloatExpression; +import org.apache.drill.common.expression.ValueExpressions.IntExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; +import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.QuotedString; +import org.apache.drill.common.expression.ValueExpressions.TimeExpression; +import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; public abstract class AbstractExprVisitor<T, VAL, EXCEP extends Exception> implements ExprVisitor<T, VAL, EXCEP> { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractExprVisitor.class); @@ -171,6 +171,6 @@ public abstract class AbstractExprVisitor<T, VAL, EXCEP extends Exception> imple public T visitUnknown(LogicalExpression e, VAL value) throws EXCEP { throw new UnsupportedOperationException(String.format("Expression of type %s not handled by visitor type %s.", e.getClass().getCanonicalName(), this.getClass().getCanonicalName())); } - - + + }
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java b/common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java index 4c75459..881dc15 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java @@ -30,20 +30,20 @@ import org.apache.drill.common.expression.NullExpression; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.common.expression.TypedNullConstant; import org.apache.drill.common.expression.ValueExpressions.BooleanExpression; -import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; -import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.DateExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeExpression; -import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal18Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal28Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal38Expression; +import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; +import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; import org.apache.drill.common.expression.ValueExpressions.FloatExpression; import org.apache.drill.common.expression.ValueExpressions.IntExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; +import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.QuotedString; +import org.apache.drill.common.expression.ValueExpressions.TimeExpression; +import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; public final class AggregateChecker implements ExprVisitor<Boolean, ErrorCollector, RuntimeException>{ @@ -85,10 +85,10 @@ public final class AggregateChecker implements ExprVisitor<Boolean, ErrorCollect if (arg.accept(this, errors)) return true; } - + return false; } - + @Override public Boolean visitIfExpression(IfExpression ifExpr, ErrorCollector errors) { IfCondition c = ifExpr.ifCondition; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/ConditionalExprOptimizer.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/ConditionalExprOptimizer.java b/common/src/main/java/org/apache/drill/common/expression/visitors/ConditionalExprOptimizer.java index 1a4b399..254926a 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/ConditionalExprOptimizer.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/ConditionalExprOptimizer.java @@ -28,36 +28,27 @@ import org.apache.drill.common.expression.ConvertExpression; import org.apache.drill.common.expression.FunctionCall; import org.apache.drill.common.expression.FunctionHolderExpression; import org.apache.drill.common.expression.IfExpression; -import org.apache.drill.common.expression.LogicalExpression; -import org.apache.drill.common.expression.NullExpression; import org.apache.drill.common.expression.IfExpression.IfCondition; -import org.apache.drill.common.types.TypeProtos; -import org.apache.drill.common.types.TypeProtos.DataMode; -import org.apache.drill.common.types.TypeProtos.MajorType; - -import com.google.common.base.Function; -import com.google.common.base.Optional; -import com.google.common.base.Predicate; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; +import org.apache.drill.common.expression.LogicalExpression; + import com.google.common.collect.Lists; public class ConditionalExprOptimizer extends AbstractExprVisitor<LogicalExpression, Void, RuntimeException> { public static ConditionalExprOptimizer INSTANCE = new ConditionalExprOptimizer(); - + @Override - public LogicalExpression visitBooleanOperator(BooleanOperator op, Void value) throws RuntimeException { - + public LogicalExpression visitBooleanOperator(BooleanOperator op, Void value) throws RuntimeException { + List<LogicalExpression> newArgs = Lists.newArrayList(); - + newArgs.addAll(op.args); - + Collections.sort(newArgs, costComparator); - + return new BooleanOperator(op.getName(), newArgs, op.getPosition()); } - + @Override public LogicalExpression visitFunctionHolderExpression(FunctionHolderExpression holder, Void value) throws RuntimeException { @@ -69,16 +60,16 @@ public class ConditionalExprOptimizer extends AbstractExprVisitor<LogicalExpress } //replace with a new function call, since its argument could be changed. - - return holder.copy(args); + + return holder.copy(args); } @Override public LogicalExpression visitUnknown(LogicalExpression e, Void value) throws RuntimeException { return e; } - - + + @Override public LogicalExpression visitIfExpression(IfExpression ifExpr, Void value) throws RuntimeException{ LogicalExpression newElseExpr = ifExpr.elseExpression.accept(this, value); @@ -90,7 +81,7 @@ public class ConditionalExprOptimizer extends AbstractExprVisitor<LogicalExpress return IfExpression.newBuilder().setElse(newElseExpr).setIfCondition(conditions).build(); } - + @Override public LogicalExpression visitFunctionCall(FunctionCall call, Void value) throws RuntimeException { throw new UnsupportedOperationException("FunctionCall is not expected here. " @@ -100,14 +91,14 @@ public class ConditionalExprOptimizer extends AbstractExprVisitor<LogicalExpress @Override public LogicalExpression visitCastExpression(CastExpression cast, Void value) throws RuntimeException { throw new UnsupportedOperationException("CastExpression is not expected here. " - + "It should have been converted to FunctionHolderExpression in materialization"); + + "It should have been converted to FunctionHolderExpression in materialization"); } - + @Override public LogicalExpression visitConvertExpression(ConvertExpression cast, Void value) throws RuntimeException { throw new UnsupportedOperationException("ConvertExpression is not expected here. " - + "It should have been converted to FunctionHolderExpression in materialization"); + + "It should have been converted to FunctionHolderExpression in materialization"); } private static Comparator<LogicalExpression> costComparator = new Comparator<LogicalExpression> () { @@ -115,7 +106,7 @@ public class ConditionalExprOptimizer extends AbstractExprVisitor<LogicalExpress return e1.getCumulativeCost() <= e2.getCumulativeCost() ? -1 : 1; } }; - - - + + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java b/common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java index a2a0d7f..5f20c25 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java @@ -30,28 +30,28 @@ import org.apache.drill.common.expression.NullExpression; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.common.expression.TypedNullConstant; import org.apache.drill.common.expression.ValueExpressions.BooleanExpression; -import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; -import org.apache.drill.common.expression.ValueExpressions.FloatExpression; -import org.apache.drill.common.expression.ValueExpressions.IntExpression; -import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.DateExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeExpression; -import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal18Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal28Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal38Expression; +import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; +import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; +import org.apache.drill.common.expression.ValueExpressions.FloatExpression; +import org.apache.drill.common.expression.ValueExpressions.IntExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; +import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.QuotedString; +import org.apache.drill.common.expression.ValueExpressions.TimeExpression; +import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; final class ConstantChecker implements ExprVisitor<Boolean, ErrorCollector, RuntimeException> { private final static ConstantChecker INSTANCE = new ConstantChecker(); - + private ConstantChecker(){} - + public static void checkConstants(LogicalExpression e, ErrorCollector errors){ e.accept(INSTANCE, errors); } @@ -87,7 +87,7 @@ final class ConstantChecker implements ExprVisitor<Boolean, ErrorCollector, Runt } return true; } - + @Override public Boolean visitIfExpression(IfExpression ifExpr, ErrorCollector errors) { IfCondition c = ifExpr.ifCondition; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java b/common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java index cf01930..2d0cd8c 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java @@ -28,20 +28,20 @@ import org.apache.drill.common.expression.NullExpression; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.common.expression.TypedNullConstant; import org.apache.drill.common.expression.ValueExpressions.BooleanExpression; -import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; -import org.apache.drill.common.expression.ValueExpressions.FloatExpression; -import org.apache.drill.common.expression.ValueExpressions.IntExpression; -import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.DateExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; -import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal18Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal28Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal38Expression; +import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; +import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; +import org.apache.drill.common.expression.ValueExpressions.FloatExpression; +import org.apache.drill.common.expression.ValueExpressions.IntExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; +import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.QuotedString; +import org.apache.drill.common.expression.ValueExpressions.TimeExpression; +import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; public interface ExprVisitor<T, VAL, EXCEP extends Exception> { public T visitFunctionCall(FunctionCall call, VAL value) throws EXCEP; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/ExpressionValidator.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/ExpressionValidator.java b/common/src/main/java/org/apache/drill/common/expression/visitors/ExpressionValidator.java index cfcf371..eb1394c 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/ExpressionValidator.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/ExpressionValidator.java @@ -24,27 +24,25 @@ import org.apache.drill.common.expression.ErrorCollector; import org.apache.drill.common.expression.FunctionCall; import org.apache.drill.common.expression.FunctionHolderExpression; import org.apache.drill.common.expression.IfExpression; +import org.apache.drill.common.expression.IfExpression.IfCondition; import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.expression.NullExpression; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.common.expression.TypedNullConstant; import org.apache.drill.common.expression.ValueExpressions; -import org.apache.drill.common.expression.IfExpression.IfCondition; import org.apache.drill.common.expression.ValueExpressions.BooleanExpression; -import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; -import org.apache.drill.common.expression.ValueExpressions.FloatExpression; -import org.apache.drill.common.expression.ValueExpressions.IntExpression; -import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.DateExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeExpression; -import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal18Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal28Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal38Expression; +import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; +import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; +import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.QuotedString; +import org.apache.drill.common.expression.ValueExpressions.TimeExpression; +import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; import org.apache.drill.common.types.TypeProtos.DataMode; import org.apache.drill.common.types.TypeProtos.MajorType; import org.apache.drill.common.types.TypeProtos.MinorType; @@ -88,10 +86,10 @@ public class ExpressionValidator implements ExprVisitor<Void, ErrorCollector, Ru } i++; } - + return null; } - + @Override public Void visitIfExpression(IfExpression ifExpr, ErrorCollector errors) throws RuntimeException { // confirm that all conditions are required boolean values. @@ -166,7 +164,7 @@ public class ExpressionValidator implements ExprVisitor<Void, ErrorCollector, Ru public Void visitDecimal38Constant(Decimal38Expression decExpr, ErrorCollector errors) throws RuntimeException { return null; } - + @Override public Void visitDateConstant(DateExpression intExpr, ErrorCollector errors) throws RuntimeException { return null; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java b/common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java index 28f13fb..5f83e93 100644 --- a/common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java +++ b/common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java @@ -22,20 +22,20 @@ import org.apache.drill.common.expression.FunctionHolderExpression; import org.apache.drill.common.expression.IfExpression; import org.apache.drill.common.expression.SchemaPath; import org.apache.drill.common.expression.ValueExpressions.BooleanExpression; -import org.apache.drill.common.expression.ValueExpressions.IntExpression; -import org.apache.drill.common.expression.ValueExpressions.FloatExpression; -import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; -import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.DateExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; -import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; -import org.apache.drill.common.expression.ValueExpressions.TimeExpression; -import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal18Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal28Expression; import org.apache.drill.common.expression.ValueExpressions.Decimal38Expression; +import org.apache.drill.common.expression.ValueExpressions.Decimal9Expression; +import org.apache.drill.common.expression.ValueExpressions.DoubleExpression; +import org.apache.drill.common.expression.ValueExpressions.FloatExpression; +import org.apache.drill.common.expression.ValueExpressions.IntExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalDayExpression; +import org.apache.drill.common.expression.ValueExpressions.IntervalYearExpression; +import org.apache.drill.common.expression.ValueExpressions.LongExpression; import org.apache.drill.common.expression.ValueExpressions.QuotedString; +import org.apache.drill.common.expression.ValueExpressions.TimeExpression; +import org.apache.drill.common.expression.ValueExpressions.TimeStampExpression; public abstract class SimpleExprVisitor<T> implements ExprVisitor<T, Void, RuntimeException>{ @@ -135,7 +135,7 @@ public abstract class SimpleExprVisitor<T> implements ExprVisitor<T, Void, Runti return visitQuotedStringConstant(e); } - + public abstract T visitFunctionCall(FunctionCall call); public abstract T visitFunctionHolderExpression(FunctionHolderExpression call); public abstract T visitIfExpression(IfExpression ifExpr); @@ -154,5 +154,5 @@ public abstract class SimpleExprVisitor<T> implements ExprVisitor<T, Void, Runti public abstract T visitDecimal38Constant(Decimal38Expression intExpr); public abstract T visitDoubleConstant(DoubleExpression dExpr); public abstract T visitBooleanConstant(BooleanExpression e); - public abstract T visitQuotedStringConstant(QuotedString e); + public abstract T visitQuotedStringConstant(QuotedString e); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/graph/AdjacencyList.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/graph/AdjacencyList.java b/common/src/main/java/org/apache/drill/common/graph/AdjacencyList.java index ac50047..ae74194 100644 --- a/common/src/main/java/org/apache/drill/common/graph/AdjacencyList.java +++ b/common/src/main/java/org/apache/drill/common/graph/AdjacencyList.java @@ -50,7 +50,7 @@ class AdjacencyList<V extends GraphValue<V>> { Node getNewNode(V value){ return new Node(value); } - + public List<Edge<Node>> getAdjacent(AdjacencyList<V>.Node source) { return adjacencies.get(source); } @@ -88,10 +88,10 @@ class AdjacencyList<V extends GraphValue<V>> { } return nodes; } - + /** * Get a list of nodes that have no outbound edges. - * + * * @return */ public Collection<V> getLeafNodes(){ @@ -109,13 +109,13 @@ class AdjacencyList<V extends GraphValue<V>> { /** * Get a list of all nodes that have no incoming edges. - * + * * @return */ public List<V> getRootNodes(){ return convert(getInternalRootNodes()); } - + public Collection<Edge<Node>> getAllEdges() { return adjacencies.values(); } @@ -173,12 +173,12 @@ class AdjacencyList<V extends GraphValue<V>> { } } - + public static <V extends GraphValue<V>> AdjacencyList<V> newInstance(Collection<V> nodes){ AdjacencyList<V> list = new AdjacencyList<V>(); AdjacencyListBuilder<V> builder = new AdjacencyListBuilder<V>(list); for(V v : nodes){ - v.accept(builder); + v.accept(builder); } return builder.getAdjacencyList(); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/graph/AdjacencyListBuilder.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/graph/AdjacencyListBuilder.java b/common/src/main/java/org/apache/drill/common/graph/AdjacencyListBuilder.java index e1a8d55..369ff06 100644 --- a/common/src/main/java/org/apache/drill/common/graph/AdjacencyListBuilder.java +++ b/common/src/main/java/org/apache/drill/common/graph/AdjacencyListBuilder.java @@ -25,7 +25,7 @@ import java.util.Map; private Map<V, AdjacencyList<V>.Node> ops = new HashMap<V, AdjacencyList<V>.Node>(); private final AdjacencyList<V> parent; - + public AdjacencyListBuilder(AdjacencyList<V> parent) { this.parent = parent; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/graph/Edge.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/graph/Edge.java b/common/src/main/java/org/apache/drill/common/graph/Edge.java index 044ded1..7b9ca61 100644 --- a/common/src/main/java/org/apache/drill/common/graph/Edge.java +++ b/common/src/main/java/org/apache/drill/common/graph/Edge.java @@ -37,6 +37,6 @@ class Edge<N> implements Comparable<Edge<N>> { public String toString() { return "Edge [from=" + from + ", to=" + to + "]"; } - - + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/graph/Graph.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/graph/Graph.java b/common/src/main/java/org/apache/drill/common/graph/Graph.java index 71c7923..3cf4e7a 100644 --- a/common/src/main/java/org/apache/drill/common/graph/Graph.java +++ b/common/src/main/java/org/apache/drill/common/graph/Graph.java @@ -48,7 +48,7 @@ public class Graph<G extends GraphValue<G>, R extends G, T extends G> { } return (List<O>) ops; } - + public AdjacencyList<G> getAdjList() { return adjList; } @@ -64,5 +64,5 @@ public class Graph<G extends GraphValue<G>, R extends G, T extends G> { public static <G extends GraphValue<G>, R extends G, T extends G> Graph<G, R, T> newGraph(List<G> operators, Class<R> root, Class<T> leaf){ return new Graph<G, R, T>(operators, root, leaf); } - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/graph/GraphAlgos.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/graph/GraphAlgos.java b/common/src/main/java/org/apache/drill/common/graph/GraphAlgos.java index 1ea0740..484d2af 100644 --- a/common/src/main/java/org/apache/drill/common/graph/GraphAlgos.java +++ b/common/src/main/java/org/apache/drill/common/graph/GraphAlgos.java @@ -65,7 +65,7 @@ public class GraphAlgos { /** * Execute a depth-first sort on the reversed DAG. - * + * * @param graph * The adjacency list for the DAG. * @param sourceNodes http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/graph/GraphValue.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/graph/GraphValue.java b/common/src/main/java/org/apache/drill/common/graph/GraphValue.java index dacf74b..a919008 100644 --- a/common/src/main/java/org/apache/drill/common/graph/GraphValue.java +++ b/common/src/main/java/org/apache/drill/common/graph/GraphValue.java @@ -20,7 +20,7 @@ package org.apache.drill.common.graph; public interface GraphValue<T> extends Iterable<T>{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(GraphValue.class); - + public void accept(GraphVisitor<T> visitor); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfig.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfig.java b/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfig.java index 20b4d66..936e4f2 100644 --- a/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfig.java +++ b/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfig.java @@ -22,6 +22,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property="type") public interface FormatPluginConfig { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(FormatPluginConfig.class); - - + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfigBase.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfigBase.java b/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfigBase.java index e640359..0704085 100644 --- a/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfigBase.java +++ b/common/src/main/java/org/apache/drill/common/logical/FormatPluginConfigBase.java @@ -23,12 +23,10 @@ import org.apache.drill.common.config.CommonConstants; import org.apache.drill.common.config.DrillConfig; import org.apache.drill.common.util.PathScanner; -import com.fasterxml.jackson.annotation.JsonProperty; - public abstract class FormatPluginConfigBase implements FormatPluginConfig{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(FormatPluginConfigBase.class); - - + + public synchronized static Class<?>[] getSubTypes(DrillConfig config){ List<String> packages = config.getStringList(CommonConstants.STORAGE_PLUGIN_CONFIG_SCAN_PACKAGES); Class<?>[] sec = PathScanner.scanForImplementationsArr(FormatPluginConfig.class, packages); @@ -36,6 +34,7 @@ public abstract class FormatPluginConfigBase implements FormatPluginConfig{ return sec; } + @Override public abstract boolean equals(Object o); - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/LogicalPlan.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/LogicalPlan.java b/common/src/main/java/org/apache/drill/common/logical/LogicalPlan.java index 06ea117..313ed40 100644 --- a/common/src/main/java/org/apache/drill/common/logical/LogicalPlan.java +++ b/common/src/main/java/org/apache/drill/common/logical/LogicalPlan.java @@ -22,7 +22,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.drill.common.logical.PlanProperties; import org.apache.drill.common.config.DrillConfig; import org.apache.drill.common.graph.Graph; import org.apache.drill.common.graph.GraphAlgos; @@ -46,8 +45,8 @@ public class LogicalPlan { private final PlanProperties properties; private final Map<String, StoragePluginConfig> storageEngineMap; private final Graph<LogicalOperator, SinkOperator, SourceOperator> graph; - - + + @JsonCreator public LogicalPlan(@JsonProperty("head") PlanProperties head, @JsonProperty("storage") Map<String, StoragePluginConfig> storageEngineMap, @@ -101,7 +100,7 @@ public class LogicalPlan { LogicalPlan plan = mapper.readValue(planString, LogicalPlan.class); return plan; } catch (IOException e) { - + throw new RuntimeException(String.format("Failure while parsing plan: \n %s}", planString), e); } } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/LogicalPlanBuilder.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/LogicalPlanBuilder.java b/common/src/main/java/org/apache/drill/common/logical/LogicalPlanBuilder.java index 1941a92..28f1402 100644 --- a/common/src/main/java/org/apache/drill/common/logical/LogicalPlanBuilder.java +++ b/common/src/main/java/org/apache/drill/common/logical/LogicalPlanBuilder.java @@ -36,12 +36,12 @@ public class LogicalPlanBuilder { this.planProperties = planProperties; return this; } - + public LogicalPlanBuilder planProperties(PlanType type, int version, String generatorType, String generatorInfo, ResultMode mode){ this.planProperties = PlanProperties.builder().generator(generatorType, generatorInfo).type(type).version(version).resultMode(mode).build(); return this; } - + public LogicalPlanBuilder addStorageEngine(String name, StoragePluginConfig config) { this.storageEngines.put(name, config); return this; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java b/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java index d9b8123..308e901 100644 --- a/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java +++ b/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfig.java @@ -34,6 +34,7 @@ public abstract class StoragePluginConfig{ this.enabled = enabled; } + @Override public abstract boolean equals(Object o); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfigBase.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfigBase.java b/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfigBase.java index 278bb08..c006f16 100644 --- a/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfigBase.java +++ b/common/src/main/java/org/apache/drill/common/logical/StoragePluginConfigBase.java @@ -33,6 +33,7 @@ public abstract class StoragePluginConfigBase extends StoragePluginConfig { return sec; } + @Override public abstract boolean equals(Object o); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/UnexpectedOperatorType.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/UnexpectedOperatorType.java b/common/src/main/java/org/apache/drill/common/logical/UnexpectedOperatorType.java index 21b2aa5..ea3f4b2 100644 --- a/common/src/main/java/org/apache/drill/common/logical/UnexpectedOperatorType.java +++ b/common/src/main/java/org/apache/drill/common/logical/UnexpectedOperatorType.java @@ -23,13 +23,13 @@ public class UnexpectedOperatorType extends ValidationError{ public UnexpectedOperatorType(String message){ super(message); } - + public UnexpectedOperatorType(Object operator, String message) { super(message + " Received node of type " + operator.getClass().getCanonicalName()); } - - + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/AbstractBuilder.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/AbstractBuilder.java b/common/src/main/java/org/apache/drill/common/logical/data/AbstractBuilder.java index 69cb4eb..427b040 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/AbstractBuilder.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/AbstractBuilder.java @@ -23,9 +23,9 @@ import org.apache.drill.common.expression.LogicalExpression; public abstract class AbstractBuilder<T extends LogicalOperator> { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractBuilder.class); - + public abstract T build(); - + protected LogicalExpression[] aL(List<LogicalExpression> exprs){ return exprs.toArray(new LogicalExpression[exprs.size()]); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/AbstractSingleBuilder.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/AbstractSingleBuilder.java b/common/src/main/java/org/apache/drill/common/logical/data/AbstractSingleBuilder.java index e733fdd..3ed947e 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/AbstractSingleBuilder.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/AbstractSingleBuilder.java @@ -21,21 +21,22 @@ import com.google.common.base.Preconditions; public abstract class AbstractSingleBuilder<T extends SingleInputOperator, X extends AbstractSingleBuilder<T, X>> extends AbstractBuilder<T> { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractSingleBuilder.class); - + private LogicalOperator input; + @Override public final T build(){ Preconditions.checkNotNull(input); T out = internalBuild(); out.setInput(input); return out; } - + public X setInput(LogicalOperator input){ this.input = input; return (X) this; } - + public abstract T internalBuild(); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Constant.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Constant.java b/common/src/main/java/org/apache/drill/common/logical/data/Constant.java index f9e7394..460803d 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Constant.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Constant.java @@ -17,8 +17,6 @@ */ package org.apache.drill.common.logical.data; -import java.util.Iterator; - import org.apache.drill.common.JSONOptions; import org.apache.drill.common.logical.data.visitors.LogicalVisitor; @@ -48,5 +46,5 @@ public class Constant extends SourceOperator { return logicalVisitor.visitConstant(this, value); } - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Filter.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Filter.java b/common/src/main/java/org/apache/drill/common/logical/data/Filter.java index 0fba804..613c500 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Filter.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Filter.java @@ -17,15 +17,15 @@ */ package org.apache.drill.common.logical.data; -import com.google.common.collect.Iterators; +import java.util.Iterator; + import org.apache.drill.common.expression.LogicalExpression; +import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; -import org.apache.drill.common.logical.data.visitors.LogicalVisitor; - -import java.util.Iterator; +import com.google.common.collect.Iterators; @JsonTypeName("filter") public class Filter extends SingleInputOperator{ @@ -50,6 +50,6 @@ public class Filter extends SingleInputOperator{ return Iterators.singletonIterator(getInput()); } - - + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Flatten.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Flatten.java b/common/src/main/java/org/apache/drill/common/logical/data/Flatten.java index 07485d6..803a4b3 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Flatten.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Flatten.java @@ -17,16 +17,16 @@ */ package org.apache.drill.common.logical.data; -import com.google.common.collect.Iterators; +import java.util.Iterator; + import org.apache.drill.common.expression.FieldReference; import org.apache.drill.common.expression.LogicalExpression; +import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; -import org.apache.drill.common.logical.data.visitors.LogicalVisitor; - -import java.util.Iterator; +import com.google.common.collect.Iterators; @JsonTypeName("flatten") public class Flatten extends SingleInputOperator { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/GroupingAggregate.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/GroupingAggregate.java b/common/src/main/java/org/apache/drill/common/logical/data/GroupingAggregate.java index 4aabfba..2913a7e 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/GroupingAggregate.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/GroupingAggregate.java @@ -32,16 +32,16 @@ import com.google.common.collect.Lists; @JsonTypeName("groupingaggregate") public class GroupingAggregate extends SingleInputOperator{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(GroupingAggregate.class); - + private final NamedExpression[] keys; private final NamedExpression[] exprs; - + public GroupingAggregate(@JsonProperty("keys") NamedExpression[] keys, @JsonProperty("exprs") NamedExpression[] exprs) { super(); this.keys = keys; this.exprs = exprs; } - + @Override public <T, X, E extends Throwable> T accept(LogicalVisitor<T, X, E> logicalVisitor, X value) throws E { return logicalVisitor.visitGroupingAggregate(this, value); @@ -55,19 +55,19 @@ public class GroupingAggregate extends SingleInputOperator{ public static Builder builder(){ return new Builder(); } - + public NamedExpression[] getKeys(){ return keys; } - + public NamedExpression[] getExprs(){ return exprs; } - + public static class Builder extends AbstractSingleBuilder<GroupingAggregate, Builder>{ private List<NamedExpression> keys = Lists.newArrayList(); private List<NamedExpression> exprs = Lists.newArrayList(); - + public Builder addKey(FieldReference ref, LogicalExpression expr){ keys.add(new NamedExpression(expr, ref)); return this; @@ -77,24 +77,25 @@ public class GroupingAggregate extends SingleInputOperator{ keys.add(expr); return this; } - + public Builder addExpr(NamedExpression expr){ exprs.add(expr); return this; } - + public Builder addExpr(FieldReference ref, LogicalExpression expr){ exprs.add(new NamedExpression(expr, ref)); return this; } + @Override public GroupingAggregate internalBuild(){ GroupingAggregate ga = new GroupingAggregate(aN(keys), aN(exprs)); return ga; } - + } - - - + + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Join.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Join.java b/common/src/main/java/org/apache/drill/common/logical/data/Join.java index 3e68b09..ee5b527 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Join.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Join.java @@ -47,14 +47,14 @@ public class Join extends LogicalOperatorBase { } throw new ExpressionParsingException(String.format("Unable to determine join type for value '%s'.", val)); } - + @JsonCreator public Join(@JsonProperty("left") LogicalOperator left, @JsonProperty("right") LogicalOperator right, @JsonProperty("conditions") JoinCondition[] conditions, @JsonProperty("type") String type) { this(left, right, conditions, resolve(type)); } - + public Join(LogicalOperator left, @JsonProperty("right") LogicalOperator right, JoinCondition[] conditions, JoinRelType type) { super(); this.conditions = conditions; @@ -65,7 +65,7 @@ public class Join extends LogicalOperatorBase { this.type = type; } - + public LogicalOperator getLeft() { return left; } @@ -96,22 +96,22 @@ public class Join extends LogicalOperatorBase { public Iterator<LogicalOperator> iterator() { return Iterators.forArray(getLeft(), getRight()); } - + public static Builder builder(){ return new Builder(); } - + public static class Builder extends AbstractBuilder<Join>{ private LogicalOperator left; private LogicalOperator right; private JoinRelType type; private List<JoinCondition> conditions = Lists.newArrayList(); - + public Builder type(JoinRelType type){ this.type = type; return this; } - + public Builder left(LogicalOperator left){ this.left = left; return this; @@ -120,13 +120,13 @@ public class Join extends LogicalOperatorBase { this.right = right; return this; } - + public Builder addCondition(String relationship, LogicalExpression left, LogicalExpression right){ conditions.add(new JoinCondition(relationship, left, right)); return this; } - - + + @Override public Join build() { Preconditions.checkNotNull(left); @@ -134,6 +134,6 @@ public class Join extends LogicalOperatorBase { Preconditions.checkNotNull(type); return new Join(left, right, conditions.toArray(new JoinCondition[conditions.size()]), type); } - + } } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/JoinCondition.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/JoinCondition.java b/common/src/main/java/org/apache/drill/common/logical/data/JoinCondition.java index 90e3d5b..611e70b 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/JoinCondition.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/JoinCondition.java @@ -47,7 +47,7 @@ public class JoinCondition { public LogicalExpression getRight() { return right; } - + public JoinCondition flip(){ return new JoinCondition(relationship, right, left); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Limit.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Limit.java b/common/src/main/java/org/apache/drill/common/logical/data/Limit.java index 110204b..56ae8d9 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Limit.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Limit.java @@ -17,15 +17,16 @@ */ package org.apache.drill.common.logical.data; +import java.util.Iterator; + +import org.apache.drill.common.logical.data.visitors.LogicalVisitor; + import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.Iterators; -import org.apache.drill.common.logical.data.visitors.LogicalVisitor; - -import java.util.Iterator; @JsonTypeName("limit") public class Limit extends SingleInputOperator { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/LogicalOperatorBase.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/LogicalOperatorBase.java b/common/src/main/java/org/apache/drill/common/logical/data/LogicalOperatorBase.java index 69a1c3c..cbfa066 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/LogicalOperatorBase.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/LogicalOperatorBase.java @@ -19,7 +19,6 @@ package org.apache.drill.common.logical.data; import java.util.ArrayList; import java.util.Collection; -import java.util.Iterator; import java.util.List; import org.apache.drill.common.config.CommonConstants; @@ -37,11 +36,12 @@ public abstract class LogicalOperatorBase implements LogicalOperator{ private List<LogicalOperator> children = new ArrayList<LogicalOperator>(); private String memo; - - public final int hashCode(){ + + @Override + public final int hashCode(){ return super.hashCode(); } - + @Override public void setupAndValidate(List<LogicalOperator> operators, Collection<ValidationError> errors) { // TODO: remove this and implement individually. @@ -69,7 +69,7 @@ public abstract class LogicalOperatorBase implements LogicalOperator{ return this.getClass().getSimpleName() + " [memo=" + memo + "]"; } - @JsonInclude(Include.NON_EMPTY) + @JsonInclude(Include.NON_EMPTY) @JsonProperty("memo") public String getMemo(){ return memo; @@ -78,14 +78,14 @@ public abstract class LogicalOperatorBase implements LogicalOperator{ public void setMemo(String memo) { this.memo = memo; } - + public synchronized static Class<?>[] getSubTypes(DrillConfig config){ Class<?>[] ops = PathScanner.scanForImplementationsArr(LogicalOperator.class, config.getStringList(CommonConstants.LOGICAL_OPERATOR_SCAN_PACKAGES)); logger.debug("Adding Logical Operator sub types: {}", ((Object) ops) ); return ops; } - - - + + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/NamedExpression.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/NamedExpression.java b/common/src/main/java/org/apache/drill/common/logical/data/NamedExpression.java index 4c006c6..1550ddf 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/NamedExpression.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/NamedExpression.java @@ -24,11 +24,11 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -@JsonPropertyOrder({"ref", "expr"}) +@JsonPropertyOrder({"ref", "expr"}) public class NamedExpression { private final LogicalExpression expr; private final FieldReference ref; - + @JsonCreator public NamedExpression( @JsonProperty("expr") LogicalExpression expr, @JsonProperty("ref") FieldReference ref) { super(); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Order.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Order.java b/common/src/main/java/org/apache/drill/common/logical/data/Order.java index 06f1144..dada606 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Order.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Order.java @@ -45,11 +45,11 @@ public class Order extends SingleInputOperator { this.orderings = orderings; this.within = within; } - + public Ordering[] getOrderings() { return orderings; } - + public FieldReference getWithin() { return within; } @@ -70,7 +70,7 @@ public class Order extends SingleInputOperator { private final RelFieldCollation.Direction direction; private final LogicalExpression expr; private final RelFieldCollation.NullDirection nulls; - + @JsonCreator public Ordering(@JsonProperty("order") String strOrder, @JsonProperty("expr") LogicalExpression expr, @JsonProperty("nullDirection") String nullCollation) { this.expr = expr; @@ -83,7 +83,7 @@ public class Order extends SingleInputOperator { this.nulls = nullCollation; this.direction = direction; } - + public Ordering(Direction direction, LogicalExpression e) { this(direction, e, NullDirection.FIRST); } @@ -98,7 +98,7 @@ public class Order extends SingleInputOperator { } public String getOrder() { - + switch(direction){ case DESCENDING: return "DESC"; default: return "ASC"; @@ -108,24 +108,24 @@ public class Order extends SingleInputOperator { public NullDirection getNullDirection() { return nulls; } - - + + } - + public static Builder builder(){ return new Builder(); } - + public static class Builder extends AbstractSingleBuilder<Order, Builder>{ private List<Ordering> orderings = Lists.newArrayList(); private FieldReference within; - + public Builder setWithin(FieldReference within){ this.within = within; return this; } - + public Builder addOrdering(Direction direction, LogicalExpression e, NullDirection collation){ orderings.add(new Ordering(direction, e, collation)); return this; @@ -135,14 +135,14 @@ public class Order extends SingleInputOperator { public Order internalBuild() { return new Order(within, orderings.toArray(new Ordering[orderings.size()])); } - - + + } - + public static Direction getDirectionFromString(String direction){ return "DESC".equalsIgnoreCase(direction) ? Direction.DESCENDING : Direction.ASCENDING; } - + public static String getStringFromDirection(Direction direction){ return direction == Direction.DESCENDING ? "DESC" : "ASC"; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Project.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Project.java b/common/src/main/java/org/apache/drill/common/logical/data/Project.java index ab2ef35..5a78ee5 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Project.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Project.java @@ -17,19 +17,16 @@ */ package org.apache.drill.common.logical.data; -import java.util.Iterator; import java.util.List; import org.apache.drill.common.exceptions.ExpressionParsingException; import org.apache.drill.common.expression.FieldReference; import org.apache.drill.common.expression.LogicalExpression; -import org.apache.drill.common.expression.PathSegment; import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; -import com.google.common.collect.Iterators; import com.google.common.collect.Lists; @JsonTypeName("project") http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/RunningAggregate.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/RunningAggregate.java b/common/src/main/java/org/apache/drill/common/logical/data/RunningAggregate.java index 13906e1..e280627 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/RunningAggregate.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/RunningAggregate.java @@ -17,19 +17,19 @@ */ package org.apache.drill.common.logical.data; -import com.google.common.collect.Iterators; +import java.util.Iterator; + import org.apache.drill.common.expression.FieldReference; +import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; -import org.apache.drill.common.logical.data.visitors.LogicalVisitor; - -import java.util.Iterator; +import com.google.common.collect.Iterators; @JsonTypeName("runningaggregate") public class RunningAggregate extends SingleInputOperator{ - + private final FieldReference within; private final NamedExpression[] aggregations; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Scan.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Scan.java b/common/src/main/java/org/apache/drill/common/logical/data/Scan.java index f7e69b3..50b53d4 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Scan.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Scan.java @@ -18,7 +18,6 @@ package org.apache.drill.common.logical.data; import org.apache.drill.common.JSONOptions; -import org.apache.drill.common.expression.FieldReference; import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import com.fasterxml.jackson.annotation.JsonCreator; @@ -30,7 +29,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; public class Scan extends SourceOperator{ private final String storageEngine; private final JSONOptions selection; - + @JsonCreator public Scan(@JsonProperty("storageengine") String storageEngine, @JsonProperty("selection") JSONOptions selection) { super(); @@ -55,8 +54,8 @@ public class Scan extends SourceOperator{ public static Builder builder() { return new Builder(); } - - + + public static class Builder extends AbstractBuilder<Scan>{ private String storageEngine; private JSONOptions selection; @@ -71,6 +70,7 @@ public class Scan extends SourceOperator{ return this; } + @Override public Scan build() { return new Scan(storageEngine, selection); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Sequence.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Sequence.java b/common/src/main/java/org/apache/drill/common/logical/data/Sequence.java index 096d54b..6bacdff 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Sequence.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Sequence.java @@ -20,7 +20,6 @@ package org.apache.drill.common.logical.data; import java.io.IOException; import java.util.Iterator; -import com.google.common.collect.Iterators; import org.apache.drill.common.logical.data.Sequence.De; import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import org.slf4j.Logger; @@ -41,11 +40,12 @@ import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.deser.impl.ReadableObjectId; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.google.common.collect.Iterators; /** * Describes a list of operators where each operator only has one input and that * input is the operator that came before. - * + * */ @JsonDeserialize(using = De.class) @JsonTypeName("sequence") @@ -53,7 +53,7 @@ public class Sequence extends LogicalOperatorBase { static final Logger logger = LoggerFactory.getLogger(Sequence.class); private Sequence(){} - + public boolean openTop; public LogicalOperator input; @JsonProperty("do") http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/SingleInputOperator.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/SingleInputOperator.java b/common/src/main/java/org/apache/drill/common/logical/data/SingleInputOperator.java index 0a5015c..98db733 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/SingleInputOperator.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/SingleInputOperator.java @@ -30,7 +30,7 @@ import com.google.common.collect.Iterators; public abstract class SingleInputOperator extends LogicalOperatorBase { private LogicalOperator input; - + @JsonProperty("input") public LogicalOperator getInput() { return input; @@ -43,10 +43,10 @@ public abstract class SingleInputOperator extends LogicalOperatorBase { input.registerAsSubscriber(this); } - + @Override public Iterator<LogicalOperator> iterator() { return Iterators.singletonIterator(input); } - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/SinkOperator.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/SinkOperator.java b/common/src/main/java/org/apache/drill/common/logical/data/SinkOperator.java index df900fa..2ca4006 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/SinkOperator.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/SinkOperator.java @@ -22,7 +22,7 @@ package org.apache.drill.common.logical.data; * An operator that cannot be subscribed to. */ public abstract class SinkOperator extends SingleInputOperator{ - + @Override public void registerAsSubscriber(LogicalOperator operator) { throw new UnsupportedOperationException("You can not subscribe to a sink operator such as " + this.getClass().getSimpleName()); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/SourceOperator.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/SourceOperator.java b/common/src/main/java/org/apache/drill/common/logical/data/SourceOperator.java index 9af2878..d4f8246 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/SourceOperator.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/SourceOperator.java @@ -31,5 +31,5 @@ public abstract class SourceOperator extends LogicalOperatorBase{ public Iterator<LogicalOperator> iterator() { return Iterators.emptyIterator(); } - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Store.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Store.java b/common/src/main/java/org/apache/drill/common/logical/data/Store.java index 171599f..8f99eed 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Store.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Store.java @@ -30,7 +30,7 @@ import com.google.common.collect.Iterators; @JsonTypeName("store") public class Store extends SinkOperator{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Store.class); - + private final String storageEngine; private final JSONOptions target; @@ -62,7 +62,7 @@ public class Store extends SinkOperator{ public static Builder builder() { return new Builder(); } - + public static class Builder extends AbstractSingleBuilder<Store, Builder>{ private String storageEngine; private JSONOptions target; @@ -77,8 +77,9 @@ public class Store extends SinkOperator{ return this; } + @Override public Store internalBuild() { return new Store(storageEngine, target); - } + } } } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Transform.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Transform.java b/common/src/main/java/org/apache/drill/common/logical/data/Transform.java index e99b4ee..02496a6 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Transform.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Transform.java @@ -17,19 +17,20 @@ */ package org.apache.drill.common.logical.data; +import java.util.Iterator; + +import org.apache.drill.common.logical.data.visitors.LogicalVisitor; + import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; import com.google.common.collect.Iterators; -import org.apache.drill.common.logical.data.visitors.LogicalVisitor; - -import java.util.Iterator; @JsonTypeName("transform") public class Transform extends SingleInputOperator{ - + private final NamedExpression[] transforms; - + @JsonCreator public Transform(@JsonProperty("transforms") NamedExpression[] transforms) { super(); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/Union.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/Union.java b/common/src/main/java/org/apache/drill/common/logical/data/Union.java index 40c43cd..113ffe0 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/Union.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/Union.java @@ -37,7 +37,7 @@ public class Union extends LogicalOperatorBase { // public Union(@JsonProperty("inputs") LogicalOperator[] inputs){ // this(inputs, false); // } - + @JsonCreator public Union(@JsonProperty("inputs") LogicalOperator[] inputs, @JsonProperty("distinct") Boolean distinct){ this.inputs = inputs; @@ -69,26 +69,26 @@ public class Union extends LogicalOperatorBase { public static Builder builder(){ return new Builder(); } - + public static class Builder extends AbstractBuilder<Union>{ private List<LogicalOperator> inputs = Lists.newArrayList(); private boolean distinct; - + public Builder addInput(LogicalOperator o){ inputs.add(o); return this; } - + public Builder setDistinct(boolean distinct){ this.distinct = distinct; return this; } - + @Override public Union build() { return new Union(inputs.toArray(new LogicalOperator[inputs.size()]), distinct); } - + } } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/WindowFrame.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/WindowFrame.java b/common/src/main/java/org/apache/drill/common/logical/data/WindowFrame.java index 0952406..6fb64bc 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/WindowFrame.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/WindowFrame.java @@ -17,25 +17,25 @@ */ package org.apache.drill.common.logical.data; -import com.google.common.collect.Iterators; +import java.util.Iterator; + import org.apache.drill.common.expression.FieldReference; +import org.apache.drill.common.logical.data.visitors.LogicalVisitor; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; -import org.apache.drill.common.logical.data.visitors.LogicalVisitor; - -import java.util.Iterator; +import com.google.common.collect.Iterators; @JsonTypeName("windowframe") public class WindowFrame extends SingleInputOperator{ - - + + private final FieldReference within; private final FrameRef frame; private final long start; private final long end; - + @JsonCreator public WindowFrame(@JsonProperty("within") FieldReference within, @JsonProperty("ref") FrameRef frame, @JsonProperty("start") Long start, @JsonProperty("end") Long end) { @@ -78,21 +78,21 @@ public class WindowFrame extends SingleInputOperator{ public static class FrameRef{ private final FieldReference segment; private final FieldReference position; - + @JsonCreator public FrameRef(@JsonProperty("segment") FieldReference segment, @JsonProperty("position") FieldReference position) { super(); this.segment = segment; this.position = position; } - + public FieldReference getSegment() { return segment; } public FieldReference getPosition() { return position; } - - + + } } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java b/common/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java index 8758444..d128b10 100644 --- a/common/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java +++ b/common/src/main/java/org/apache/drill/common/logical/data/visitors/AbstractLogicalVisitor.java @@ -93,7 +93,7 @@ public abstract class AbstractLogicalVisitor<T, X, E extends Throwable> implemen public T visitGroupingAggregate(GroupingAggregate groupBy, X value) throws E { return visitOp(groupBy, value); } - + @Override public T visitSequence(Sequence sequence, X value) throws E { return visitOp(sequence, value); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/types/Types.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/types/Types.java b/common/src/main/java/org/apache/drill/common/types/Types.java index 10be21e..2d90b67 100644 --- a/common/src/main/java/org/apache/drill/common/types/Types.java +++ b/common/src/main/java/org/apache/drill/common/types/Types.java @@ -17,14 +17,14 @@ */ package org.apache.drill.common.types; +import static org.apache.drill.common.types.TypeProtos.DataMode.REPEATED; + import org.apache.drill.common.types.TypeProtos.DataMode; import org.apache.drill.common.types.TypeProtos.MajorType; import org.apache.drill.common.types.TypeProtos.MinorType; import com.google.protobuf.TextFormat; -import static org.apache.drill.common.types.TypeProtos.DataMode.REPEATED; - public class Types { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Types.class); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/util/AbstractDynamicBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/util/AbstractDynamicBean.java b/common/src/main/java/org/apache/drill/common/util/AbstractDynamicBean.java index 0af8a90..07a3620 100644 --- a/common/src/main/java/org/apache/drill/common/util/AbstractDynamicBean.java +++ b/common/src/main/java/org/apache/drill/common/util/AbstractDynamicBean.java @@ -38,27 +38,27 @@ import com.fasterxml.jackson.databind.node.ObjectNode; */ public abstract class AbstractDynamicBean { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractDynamicBean.class); - + private static volatile ObjectMapper MAPPER; - + private ObjectNode objectNode = new ObjectNode(null); - @JsonAnySetter + @JsonAnySetter public void _anySetter(String name, JsonNode value){ objectNode.put(name, value); } - + @JsonAnyGetter public Map<String,JsonNode> _anyGetter() { Map<String, JsonNode> unknowns = new HashMap<String, JsonNode>(); - + for(Iterator<Entry<String, JsonNode>> i = objectNode.fields(); i.hasNext(); ){ Entry<String, JsonNode> e = i.next(); unknowns.put(e.getKey(), e.getValue()); } return unknowns; } - + public <T> T getWith(Class<T> c){ try { return getMapper().treeToValue(objectNode, c); @@ -66,8 +66,8 @@ public abstract class AbstractDynamicBean { throw new LogicalPlanParsingException(String.format("Failure while trying to convert late bound json type to type of %s.", c.getCanonicalName()), e); } } - - + + private static synchronized ObjectMapper getMapper(){ if(MAPPER == null){ ObjectMapper mapper = new ObjectMapper(); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/util/ConstructorChecker.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/util/ConstructorChecker.java b/common/src/main/java/org/apache/drill/common/util/ConstructorChecker.java index a68c5ba..7a6048b 100644 --- a/common/src/main/java/org/apache/drill/common/util/ConstructorChecker.java +++ b/common/src/main/java/org/apache/drill/common/util/ConstructorChecker.java @@ -21,11 +21,11 @@ import java.lang.reflect.Constructor; public class ConstructorChecker { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ConstructorChecker.class); - + private final String requirementString; private final Class<?>[] classes; - - + + public ConstructorChecker(Class<?>... classes) { super(); this.classes = classes; @@ -35,7 +35,7 @@ public class ConstructorChecker { if(i != 0) sb.append(", "); sb.append(classes[i].getName()); } - + this.requirementString = sb.toString(); } @@ -45,10 +45,10 @@ public class ConstructorChecker { for(int i =0; i < classes.length; i++){ if( !classes[i].isAssignableFrom(params[i])) return false; } - + return true; } - + public String getRequirementString(){ return requirementString; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/util/DrillStringUtils.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/util/DrillStringUtils.java b/common/src/main/java/org/apache/drill/common/util/DrillStringUtils.java index c23424e..422e28f 100644 --- a/common/src/main/java/org/apache/drill/common/util/DrillStringUtils.java +++ b/common/src/main/java/org/apache/drill/common/util/DrillStringUtils.java @@ -17,10 +17,10 @@ */ package org.apache.drill.common.util; -import org.apache.commons.lang3.StringEscapeUtils; - import io.netty.buffer.ByteBuf; +import org.apache.commons.lang3.StringEscapeUtils; + public class DrillStringUtils { /** http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/util/FileUtils.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/util/FileUtils.java b/common/src/main/java/org/apache/drill/common/util/FileUtils.java index 7072058..527162c 100644 --- a/common/src/main/java/org/apache/drill/common/util/FileUtils.java +++ b/common/src/main/java/org/apache/drill/common/util/FileUtils.java @@ -37,7 +37,7 @@ public class FileUtils { if (u == null) throw new FileNotFoundException(String.format("Unable to find file on path %s", fileName)); return new File(u.getPath()); } - + public static String getResourceAsString(String fileName) throws IOException { return Files.toString(getResourceAsFile(fileName), Charsets.UTF_8); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/common/src/main/java/org/apache/drill/common/util/Hook.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/drill/common/util/Hook.java b/common/src/main/java/org/apache/drill/common/util/Hook.java index 41e468e..36ddb4e 100644 --- a/common/src/main/java/org/apache/drill/common/util/Hook.java +++ b/common/src/main/java/org/apache/drill/common/util/Hook.java @@ -17,11 +17,11 @@ */ package org.apache.drill.common.util; -import com.google.common.base.Function; - import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; +import com.google.common.base.Function; + /** * Collection of hooks that can be set by observers and are executed at various * parts of the query preparation process. http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/DrillHBaseConstants.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/DrillHBaseConstants.java b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/DrillHBaseConstants.java index 03151af..0b2fb79 100644 --- a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/DrillHBaseConstants.java +++ b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/DrillHBaseConstants.java @@ -36,6 +36,6 @@ public interface DrillHBaseConstants { public static final MajorType COLUMN_TYPE = Types.optional(MinorType.VARBINARY); public static final String SYS_STORE_PROVIDER_HBASE_TABLE = "drill.exec.sys.store.provider.hbase.table"; - + public static final String SYS_STORE_PROVIDER_HBASE_CONFIG = "drill.exec.sys.store.provider.hbase.config"; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseGroupScan.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseGroupScan.java b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseGroupScan.java index d9a3cf9..d5dffdc 100644 --- a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseGroupScan.java +++ b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseGroupScan.java @@ -44,7 +44,6 @@ import org.apache.drill.exec.physical.base.ScanStats; import org.apache.drill.exec.physical.base.ScanStats.GroupScanProperty; import org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint; import org.apache.drill.exec.store.AbstractRecordReader; -import org.apache.drill.exec.store.RecordReader; import org.apache.drill.exec.store.StoragePluginRegistry; import org.apache.drill.exec.store.hbase.HBaseSubScan.HBaseSubScanSpec; import org.apache.hadoop.conf.Configuration; @@ -406,6 +405,7 @@ public class HBaseGroupScan extends AbstractGroupScan implements DrillHBaseConst return hbaseScanSpec; } + @Override @JsonIgnore public boolean canPushdownProjects(List<SchemaPath> columns) { return true; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java index cbd5269..a5b6c94 100644 --- a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java +++ b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseRecordReader.java @@ -25,7 +25,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; -import com.google.common.base.Preconditions; import org.apache.drill.common.exceptions.DrillRuntimeException; import org.apache.drill.common.exceptions.ExecutionSetupException; import org.apache.drill.common.expression.PathSegment; @@ -38,7 +37,6 @@ import org.apache.drill.exec.ops.OperatorContext; import org.apache.drill.exec.physical.impl.OutputMutator; import org.apache.drill.exec.record.MaterializedField; import org.apache.drill.exec.store.AbstractRecordReader; -import org.apache.drill.exec.store.RecordReader; import org.apache.drill.exec.vector.NullableVarBinaryVector; import org.apache.drill.exec.vector.ValueVector; import org.apache.drill.exec.vector.VarBinaryVector; @@ -52,6 +50,7 @@ import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter; +import com.google.common.base.Preconditions; import com.google.common.base.Stopwatch; import com.google.common.collect.Sets; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java index 7bc7c4b..c10b0ab 100644 --- a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java +++ b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java @@ -75,6 +75,7 @@ public class HBaseStoragePlugin extends AbstractStoragePlugin { return engineConfig; } + @Override public Set<StoragePluginOptimizerRule> getOptimizerRules() { return ImmutableSet.of(HBasePushFilterIntoScan.INSTANCE); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java index 0ce9938..125483e 100644 --- a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java +++ b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/TableStatsCalculator.java @@ -63,8 +63,8 @@ public class TableStatsCalculator { * Computes size of each region for table. * * @param table - * @param hbaseScanSpec - * @param drillConfig + * @param hbaseScanSpec + * @param drillConfig * @throws IOException */ public TableStatsCalculator(HTable table, HBaseScanSpec hbaseScanSpec, DrillConfig config) throws IOException { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/BaseHBaseTest.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/BaseHBaseTest.java b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/BaseHBaseTest.java index 36cf15b..086900a 100644 --- a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/BaseHBaseTest.java +++ b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/BaseHBaseTest.java @@ -23,11 +23,9 @@ import java.util.List; import org.apache.drill.BaseTestQuery; import org.apache.drill.common.util.FileUtils; import org.apache.drill.exec.exception.SchemaChangeException; -import org.apache.drill.exec.record.RecordBatchLoader; import org.apache.drill.exec.rpc.user.QueryResultBatch; import org.apache.drill.exec.store.hbase.HBaseStoragePlugin; import org.apache.drill.exec.store.hbase.HBaseStoragePluginConfig; -import org.apache.drill.exec.util.VectorUtil; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.junit.AfterClass; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestTableGenerator.java ---------------------------------------------------------------------- diff --git a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestTableGenerator.java b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestTableGenerator.java index 99862e0..ccf5ad5 100644 --- a/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestTableGenerator.java +++ b/contrib/storage-hbase/src/test/java/org/apache/drill/hbase/TestTableGenerator.java @@ -148,7 +148,7 @@ public class TestTableGenerator { table.flushCommits(); table.close(); - + admin.flush(tableName); }
