http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/FunctionTemplate.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/FunctionTemplate.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/FunctionTemplate.java index bd4b7f1..1f732a3 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/FunctionTemplate.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/FunctionTemplate.java @@ -45,13 +45,13 @@ public @interface FunctionTemplate { NullHandling nulls() default NullHandling.INTERNAL; boolean isBinaryCommutative() default false; boolean isRandom() default false; - + FunctionCostCategory costCategory() default FunctionCostCategory.SIMPLE; - + public static enum NullHandling { INTERNAL, NULL_IF_NULL; } - + public static enum FunctionScope{ SIMPLE, POINT_AGGREGATE, @@ -69,23 +69,23 @@ public @interface FunctionTemplate { DECIMAL_ZERO_SCALE, SC_BOOLEAN_OPERATOR } - + public static enum FunctionCostCategory { SIMPLE(1), MEDIUM(3), COMPLEX(5); - + private final int value; - + private FunctionCostCategory(int value) { this.value = value; } - + public int getValue() { return this.value; } - + public static FunctionCostCategory getDefault() { return SIMPLE; } - + } }
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/MethodMap.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/MethodMap.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/MethodMap.java index cc54c2e..775f6a3 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/MethodMap.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/MethodMap.java @@ -22,17 +22,14 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.apache.drill.common.types.TypeProtos.DataMode; -import org.apache.drill.common.types.TypeProtos.MinorType; - /** * Marker annotation to determine which fields should be included as parameters for the function. */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD}) public @interface MethodMap { - - + + String parentMethod(); - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/Param.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/Param.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/Param.java index 8bdc2dd..a931211 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/Param.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/Param.java @@ -22,9 +22,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.apache.drill.common.types.TypeProtos.DataMode; -import org.apache.drill.common.types.TypeProtos.MinorType; - /** * Marker annotation to determine which fields should be included as parameters for the function. */ http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/AbstractFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/AbstractFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/AbstractFuncHolder.java index f79450c..48420ab 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/AbstractFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/AbstractFuncHolder.java @@ -17,7 +17,8 @@ */ package org.apache.drill.exec.expr.fn; -import com.sun.codemodel.JVar; +import java.util.List; + import org.apache.drill.common.expression.ExpressionPosition; import org.apache.drill.common.expression.FunctionHolderExpression; import org.apache.drill.common.expression.LogicalExpression; @@ -26,7 +27,7 @@ import org.apache.drill.common.types.TypeProtos.MajorType; import org.apache.drill.exec.expr.ClassGenerator; import org.apache.drill.exec.expr.ClassGenerator.HoldingContainer; -import java.util.List; +import com.sun.codemodel.JVar; public abstract class AbstractFuncHolder implements FuncHolder { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillAggFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillAggFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillAggFuncHolder.java index c60d4c9..6e0b282 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillAggFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillAggFuncHolder.java @@ -20,7 +20,6 @@ package org.apache.drill.exec.expr.fn; import java.util.List; import java.util.Map; -import com.sun.codemodel.JType; import org.apache.drill.common.exceptions.DrillRuntimeException; import org.apache.drill.common.types.TypeProtos.DataMode; import org.apache.drill.common.types.Types; @@ -41,6 +40,7 @@ import com.sun.codemodel.JExpression; import com.sun.codemodel.JForLoop; import com.sun.codemodel.JInvocation; import com.sun.codemodel.JMod; +import com.sun.codemodel.JType; import com.sun.codemodel.JVar; class DrillAggFuncHolder extends DrillFuncHolder{ @@ -74,10 +74,12 @@ class DrillAggFuncHolder extends DrillFuncHolder{ Preconditions.checkNotNull(reset); } + @Override public boolean isNested(){ return true; } + @Override public boolean isAggregating() { return true; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillComplexWriterFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillComplexWriterFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillComplexWriterFuncHolder.java index 0efee63..df56174 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillComplexWriterFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillComplexWriterFuncHolder.java @@ -22,15 +22,12 @@ import java.util.List; import java.util.Map; import org.apache.drill.common.expression.FieldReference; -import org.apache.drill.common.types.TypeProtos.DataMode; -import org.apache.drill.common.types.TypeProtos.MajorType; import org.apache.drill.exec.expr.ClassGenerator; import org.apache.drill.exec.expr.ClassGenerator.HoldingContainer; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.physical.impl.project.ProjectRecordBatch; import org.apache.drill.exec.vector.complex.impl.ComplexWriterImpl; -import org.apache.drill.exec.vector.complex.reader.FieldReader; import org.apache.drill.exec.vector.complex.writer.BaseWriter.ComplexWriter; import com.sun.codemodel.JBlock; @@ -39,11 +36,10 @@ import com.sun.codemodel.JConditional; import com.sun.codemodel.JExpr; import com.sun.codemodel.JExpression; import com.sun.codemodel.JInvocation; -import com.sun.codemodel.JMod; import com.sun.codemodel.JVar; public class DrillComplexWriterFuncHolder extends DrillSimpleFuncHolder{ - + private FieldReference ref; public DrillComplexWriterFuncHolder(FunctionScope scope, NullHandling nullHandling, boolean isBinaryCommutative, boolean isRandom, @@ -55,7 +51,7 @@ public class DrillComplexWriterFuncHolder extends DrillSimpleFuncHolder{ public void setReference(FieldReference ref) { this.ref = ref; } - + @Override protected HoldingContainer generateEvalBody(ClassGenerator<?> g, HoldingContainer[] inputVariables, String body, JVar[] workspaceJVars) { @@ -67,41 +63,41 @@ public class DrillComplexWriterFuncHolder extends DrillSimpleFuncHolder{ JVar complexWriter = g.declareClassField("complexWriter", g.getModel()._ref(ComplexWriter.class)); JClass cwClass = g.getModel().ref(ComplexWriterImpl.class); - + JInvocation container = g.getMappingSet().getOutgoing().invoke("getOutgoingContainer"); - - //Default name is "col", if not passed in a reference name for the output vector. + + //Default name is "col", if not passed in a reference name for the output vector. String refName = ref == null? "col" : ref.getRootSegment().getPath(); - + g.getSetupBlock().assign(complexWriter, cwClass.staticInvoke("getWriter").arg(refName).arg(container)); - + JClass projBatchClass = g.getModel().ref(ProjectRecordBatch.class); JExpression projBatch = JExpr.cast(projBatchClass, g.getMappingSet().getOutgoing()); - + g.getSetupBlock().add(projBatch.invoke("addComplexWriter").arg(complexWriter)); - - + + g.getEvalBlock().add(complexWriter.invoke("setPosition").arg(g.getMappingSet().getValueWriteIndex())); - + sub.decl(g.getModel()._ref(ComplexWriter.class), returnValue.name, complexWriter); - + // add the subblock after the out declaration. g.getEvalBlock().add(topSub); addProtectedBlock(g, sub, body, inputVariables, workspaceJVars, false); - - + + JConditional jc = g.getEvalBlock()._if(complexWriter.invoke("ok").not()); - - jc._then().add(complexWriter.invoke("reset")); + + jc._then().add(complexWriter.invoke("reset")); //jc._then().directStatement("System.out.println(\"debug : write ok fail!, inIndex = \" + inIndex);"); jc._then()._return(JExpr.FALSE); - - //jc._else().directStatement("System.out.println(\"debug : write successful, inIndex = \" + inIndex);"); - + + //jc._else().directStatement("System.out.println(\"debug : write successful, inIndex = \" + inIndex);"); + g.getEvalBlock().directStatement(String.format("//---- end of eval portion of %s function. ----//", registeredNames[0])); return null; } - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAddFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAddFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAddFuncHolder.java index 61e04ca..3871cd7 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAddFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAddFuncHolder.java @@ -24,7 +24,6 @@ import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; import org.apache.drill.common.util.DecimalScalePrecisionAddFunction; -import org.apache.drill.common.util.DecimalScalePrecisionDivideFunction; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.util.DecimalUtility; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAggFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAggFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAggFuncHolder.java index a5de0cd..51d21aa 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAggFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalAggFuncHolder.java @@ -17,13 +17,13 @@ */ package org.apache.drill.exec.expr.fn; +import java.util.List; +import java.util.Map; + import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.exec.expr.annotations.FunctionTemplate; -import java.util.List; -import java.util.Map; - public class DrillDecimalAggFuncHolder extends DrillAggFuncHolder { public DrillDecimalAggFuncHolder(FunctionTemplate.FunctionScope scope, FunctionTemplate.NullHandling nullHandling, boolean isBinaryCommutative, boolean isRandom, String[] registeredNames, ValueReference[] parameters, ValueReference returnValue, WorkspaceReference[] workspaceVars, Map<String, String> methods, List<String> imports) { super(scope, nullHandling, isBinaryCommutative, isRandom, registeredNames, parameters, returnValue, workspaceVars, methods, imports); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalCastFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalCastFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalCastFuncHolder.java index 2a0ac0c..db49173 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalCastFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalCastFuncHolder.java @@ -25,7 +25,6 @@ import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.expression.ValueExpressions; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; - import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalDivScaleFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalDivScaleFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalDivScaleFuncHolder.java index c3a23e7..683a04f 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalDivScaleFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalDivScaleFuncHolder.java @@ -69,7 +69,7 @@ public class DrillDecimalDivScaleFuncHolder extends DrillSimpleFuncHolder{ return (TypeProtos.MajorType.newBuilder().setMinorType(DecimalUtility.getDecimalDataType(outputScalePrec.getOutputPrecision())) .setScale(outputScalePrec.getOutputScale()).setPrecision(outputScalePrec.getOutputPrecision()).setMode(mode).build()); } - + @Override public boolean checkPrecisionRange() { return true; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalMaxScaleFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalMaxScaleFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalMaxScaleFuncHolder.java index 62fa513..7e54586 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalMaxScaleFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalMaxScaleFuncHolder.java @@ -23,7 +23,6 @@ import java.util.Map; import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; - import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalModScaleFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalModScaleFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalModScaleFuncHolder.java index 621e1dd..b5e754e 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalModScaleFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalModScaleFuncHolder.java @@ -23,7 +23,6 @@ import java.util.Map; import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; -import org.apache.drill.common.util.DecimalScalePrecisionDivideFunction; import org.apache.drill.common.util.DecimalScalePrecisionModFunction; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSetScaleFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSetScaleFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSetScaleFuncHolder.java index b7df04f..47b8507 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSetScaleFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSetScaleFuncHolder.java @@ -24,7 +24,6 @@ import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.expression.ValueExpressions; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; - import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSumAggFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSumAggFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSumAggFuncHolder.java index 69ab067..2988be5 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSumAggFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalSumAggFuncHolder.java @@ -17,13 +17,13 @@ */ package org.apache.drill.exec.expr.fn; +import java.util.List; +import java.util.Map; + import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.exec.expr.annotations.FunctionTemplate; -import java.util.List; -import java.util.Map; - public class DrillDecimalSumAggFuncHolder extends DrillAggFuncHolder { public DrillDecimalSumAggFuncHolder(FunctionTemplate.FunctionScope scope, FunctionTemplate.NullHandling nullHandling, boolean isBinaryCommutative, boolean isRandom, String[] registeredNames, ValueReference[] parameters, ValueReference returnValue, WorkspaceReference[] workspaceVars, Map<String, String> methods, List<String> imports) { super(scope, nullHandling, isBinaryCommutative, isRandom, registeredNames, parameters, returnValue, workspaceVars, methods, imports); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalZeroScaleFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalZeroScaleFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalZeroScaleFuncHolder.java index 2ee60bf..674fc87 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalZeroScaleFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillDecimalZeroScaleFuncHolder.java @@ -23,7 +23,6 @@ import java.util.Map; import org.apache.drill.common.expression.LogicalExpression; import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; - import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java index 2e7a104..f53bd28 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java @@ -22,18 +22,18 @@ import java.util.List; import java.util.Map.Entry; import java.util.Set; -import com.google.common.collect.Sets; import org.apache.drill.common.config.DrillConfig; import org.apache.drill.common.util.PathScanner; import org.apache.drill.exec.ExecConstants; import org.apache.drill.exec.expr.DrillFunc; - -import com.google.common.collect.ArrayListMultimap; import org.apache.drill.exec.planner.sql.DrillOperatorTable; import org.apache.drill.exec.planner.sql.DrillSqlAggOperator; import org.apache.drill.exec.planner.sql.DrillSqlOperator; import org.eigenbase.sql.SqlOperator; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Sets; + public class DrillFunctionRegistry { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(DrillFunctionRegistry.class); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java index 53df02d..397cf92 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java @@ -17,7 +17,6 @@ */ package org.apache.drill.exec.expr.fn; -import java.util.Arrays; import java.util.List; import java.util.Map; @@ -52,7 +51,7 @@ class DrillSimpleFuncHolder extends DrillFuncHolder{ Map<String, String> methods, List<String> imports) { this(scope, nullHandling, isBinaryCommutative, isRandom, registeredNames, parameters, returnValue, workspaceVars, methods, imports, FunctionCostCategory.getDefault()); } - + public DrillSimpleFuncHolder(FunctionScope scope, NullHandling nullHandling, boolean isBinaryCommutative, boolean isRandom, String[] registeredNames, ValueReference[] parameters, ValueReference returnValue, WorkspaceReference[] workspaceVars, Map<String, String> methods, List<String> imports, FunctionCostCategory costCategory) { @@ -65,10 +64,12 @@ class DrillSimpleFuncHolder extends DrillFuncHolder{ } + @Override public boolean isNested(){ return false; } + @Override public HoldingContainer renderEnd(ClassGenerator<?> g, HoldingContainer[] inputVariables, JVar[] workspaceJVars){ //If the function's annotation specifies a parameter has to be constant expression, but the HoldingContainer //for the argument is not, then raise exception. http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionBody.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionBody.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionBody.java index 7999d41..df110ed 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionBody.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionBody.java @@ -19,11 +19,11 @@ package org.apache.drill.exec.expr.fn; public class FunctionBody { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(FunctionBody.class); - - + + public static enum BodyType{ - SETUP, EVAL_INNER, EVAL_OUTER, + SETUP, EVAL_INNER, EVAL_OUTER, } - - + + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionGenerationHelper.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionGenerationHelper.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionGenerationHelper.java index 4a63aac..293fbf7 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionGenerationHelper.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionGenerationHelper.java @@ -23,17 +23,12 @@ import java.util.List; import org.apache.drill.common.expression.ExpressionPosition; import org.apache.drill.common.expression.FunctionHolderExpression; import org.apache.drill.common.expression.LogicalExpression; -import org.apache.drill.common.types.TypeProtos; import org.apache.drill.common.types.TypeProtos.MajorType; import org.apache.drill.common.types.TypeProtos.MinorType; import org.apache.drill.common.types.Types; import org.apache.drill.exec.expr.ClassGenerator.HoldingContainer; -import org.apache.drill.exec.expr.DrillFunc; -import org.apache.drill.exec.expr.DrillFuncHolderExpr; import org.apache.drill.exec.expr.HoldingContainerExpression; -import com.google.common.collect.ImmutableList; - public class FunctionGenerationHelper { public static final String COMPARE_TO = "compare_to"; @@ -49,9 +44,9 @@ public class FunctionGenerationHelper { FunctionImplementationRegistry registry) { return getFunctionExpression(COMPARE_TO, Types.required(MinorType.INT), registry, left, right); } - + public static FunctionHolderExpression getFunctionExpression(String name, MajorType returnType, FunctionImplementationRegistry registry, HoldingContainer... args){ - + List<MajorType> argTypes = new ArrayList<MajorType>(args.length); List<LogicalExpression> argExpressions = new ArrayList<LogicalExpression>(args.length); for(HoldingContainer c : args){ @@ -77,7 +72,7 @@ public class FunctionGenerationHelper { appendType(returnType, sb); throw new UnsupportedOperationException(sb.toString()); } - + private static final void appendType(MajorType mt, StringBuilder sb){ sb.append(mt.getMinorType().name()); sb.append(":"); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java index 46a24b4..055fdfa 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java @@ -17,7 +17,11 @@ */ package org.apache.drill.exec.expr.fn; -import com.google.common.collect.Lists; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.List; +import java.util.Set; + import org.apache.drill.common.config.DrillConfig; import org.apache.drill.common.expression.FunctionCall; import org.apache.drill.common.types.TypeProtos.MajorType; @@ -26,10 +30,7 @@ import org.apache.drill.exec.ExecConstants; import org.apache.drill.exec.planner.sql.DrillOperatorTable; import org.apache.drill.exec.resolver.FunctionResolver; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.Set; +import com.google.common.collect.Lists; public class FunctionImplementationRegistry { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(FunctionImplementationRegistry.class); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ImportGrabber.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ImportGrabber.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ImportGrabber.java index af62d2b..d87e6fa 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ImportGrabber.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ImportGrabber.java @@ -31,13 +31,13 @@ import com.google.common.collect.Lists; public class ImportGrabber{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ImportGrabber.class); - + private List<String> imports = Lists.newArrayList(); private final ImportFinder finder = new ImportFinder(); private ImportGrabber() { } - + public class ImportFinder extends Traverser{ @Override @@ -60,9 +60,9 @@ public class ImportGrabber{ imports.add(siodd.toString()); } - + } - + public static List<String> getMethods(Java.CompilationUnit cu){ ImportGrabber visitor = new ImportGrabber(); cu.getPackageMemberTypeDeclarations()[0].accept(visitor.finder.comprehensiveVisitor()); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java index 3a87f43..91718bc 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/MethodGrabbingVisitor.java @@ -23,7 +23,6 @@ import java.util.Map; import org.codehaus.janino.Java; import org.codehaus.janino.Java.ClassDeclaration; import org.codehaus.janino.Java.MethodDeclarator; -import org.codehaus.janino.UnparseVisitor; import org.codehaus.janino.util.Traverser; import com.google.common.collect.Maps; @@ -31,17 +30,17 @@ import com.google.common.collect.Maps; public class MethodGrabbingVisitor{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(MethodGrabbingVisitor.class); - + private Class<?> c; private Map<String, String> methods = Maps.newHashMap(); private ClassFinder classFinder = new ClassFinder(); private boolean captureMethods = false; - + private MethodGrabbingVisitor(Class<?> c) { super(); this.c = c; } - + public class ClassFinder extends Traverser{ @Override @@ -56,21 +55,21 @@ public class MethodGrabbingVisitor{ @Override public void traverseMethodDeclarator(MethodDeclarator md) { // logger.debug(c.getName() + ": Found {}, include {}", md.name, captureMethods); - + if(captureMethods){ StringWriter writer = new StringWriter(); ModifiedUnparseVisitor v = new ModifiedUnparseVisitor(writer); // UnparseVisitor v = new UnparseVisitor(writer); - + md.accept(v); v.close(); writer.flush(); - methods.put(md.name, writer.getBuffer().toString()); + methods.put(md.name, writer.getBuffer().toString()); } - } + } } - + public static Map<String, String> getMethods(Java.CompilationUnit cu, Class<?> c){ MethodGrabbingVisitor visitor = new MethodGrabbingVisitor(c); cu.getPackageMemberTypeDeclarations()[0].accept(visitor.classFinder.comprehensiveVisitor()); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ModifiedUnparseVisitor.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ModifiedUnparseVisitor.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ModifiedUnparseVisitor.java index 4b79bba..aea46e8 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ModifiedUnparseVisitor.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/ModifiedUnparseVisitor.java @@ -53,6 +53,7 @@ public class ModifiedUnparseVisitor extends UnparseVisitor { super(w); } + @Override public void visitMethodDeclarator(Java.MethodDeclarator md) { if (md.optionalStatements == null) { this.pw.print(';'); @@ -73,6 +74,7 @@ public class ModifiedUnparseVisitor extends UnparseVisitor { } } + @Override public void visitReturnStatement(Java.ReturnStatement rs) { this.pw.print("break " + returnLabel); if (rs.optionalReturnValue != null) { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Alternator.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Alternator.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Alternator.java index 641063b..9350429 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Alternator.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/Alternator.java @@ -17,25 +17,21 @@ */ package org.apache.drill.exec.expr.fn.impl; -import org.apache.drill.exec.expr.DrillAggFunc; import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.Output; -import org.apache.drill.exec.expr.annotations.Param; import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BigIntHolder; -import org.apache.drill.exec.expr.holders.IntHolder; -import org.apache.drill.exec.expr.holders.VarCharHolder; import org.apache.drill.exec.record.RecordBatch; public class Alternator { - + @FunctionTemplate(name = "alternate", isRandom = true, scope = FunctionScope.SIMPLE) public static class Alternate2 implements DrillSimpleFunc{ @Workspace int val; @Output BigIntHolder out; - + public void setup(RecordBatch incoming) { val = 0; } @@ -55,7 +51,7 @@ public class Alternator { public static class Alternate3 implements DrillSimpleFunc{ @Workspace int val; @Output BigIntHolder out; - + public void setup(RecordBatch incoming) { val = 0; } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BitFunctions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BitFunctions.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BitFunctions.java index 3ffc682..7b24322 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BitFunctions.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BitFunctions.java @@ -28,7 +28,7 @@ import org.apache.drill.exec.expr.holders.IntHolder; import org.apache.drill.exec.record.RecordBatch; public class BitFunctions { - + @FunctionTemplate(names = {"booleanOr", "or", "||"}, scope = FunctionScope.SC_BOOLEAN_OPERATOR, nulls = NullHandling.NULL_IF_NULL) public static class BitOr implements DrillSimpleFunc { @@ -41,7 +41,7 @@ public class BitFunctions { public void eval() { out.value = left.value | right.value; } - } + } @FunctionTemplate(names = {"booleanAnd", "and", "&&"}, scope = FunctionScope.SC_BOOLEAN_OPERATOR, nulls = NullHandling.NULL_IF_NULL) public static class BitAnd implements DrillSimpleFunc { @@ -55,9 +55,9 @@ public class BitFunctions { public void eval() { out.value = left.value & right.value; } - } - - + } + + @FunctionTemplate(names = {"xor", "^"}, scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL) public static class IntXor implements DrillSimpleFunc { @@ -70,7 +70,7 @@ public class BitFunctions { public void eval() { out.value = left.value ^ right.value; } - } - + } + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BooleanAggrFunctions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BooleanAggrFunctions.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BooleanAggrFunctions.java index b13a58b..d555fad 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BooleanAggrFunctions.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/BooleanAggrFunctions.java @@ -26,29 +26,11 @@ package org.apache.drill.exec.expr.fn.impl; import org.apache.drill.exec.expr.DrillAggFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; -import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; -import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BitHolder; import org.apache.drill.exec.expr.holders.NullableBitHolder; -import org.apache.drill.exec.expr.holders.BigIntHolder; -import org.apache.drill.exec.expr.holders.NullableBigIntHolder; -import org.apache.drill.exec.expr.holders.IntHolder; -import org.apache.drill.exec.expr.holders.NullableIntHolder; -import org.apache.drill.exec.expr.holders.SmallIntHolder; -import org.apache.drill.exec.expr.holders.NullableSmallIntHolder; -import org.apache.drill.exec.expr.holders.TinyIntHolder; -import org.apache.drill.exec.expr.holders.NullableTinyIntHolder; -import org.apache.drill.exec.expr.holders.UInt1Holder; -import org.apache.drill.exec.expr.holders.NullableUInt1Holder; -import org.apache.drill.exec.expr.holders.UInt2Holder; -import org.apache.drill.exec.expr.holders.NullableUInt2Holder; -import org.apache.drill.exec.expr.holders.UInt4Holder; -import org.apache.drill.exec.expr.holders.NullableUInt4Holder; -import org.apache.drill.exec.expr.holders.UInt8Holder; -import org.apache.drill.exec.expr.holders.NullableUInt8Holder; import org.apache.drill.exec.record.RecordBatch; @SuppressWarnings("unused") http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteFunctionHelpers.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteFunctionHelpers.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteFunctionHelpers.java index cbb87bb..8c55aa9 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteFunctionHelpers.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteFunctionHelpers.java @@ -18,11 +18,12 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl; -import com.google.common.primitives.UnsignedLongs; - import io.netty.util.internal.PlatformDependent; + import org.apache.drill.exec.util.DecimalUtility; +import com.google.common.primitives.UnsignedLongs; + public class ByteFunctionHelpers { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ByteFunctionHelpers.class); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteSubstring.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteSubstring.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteSubstring.java index d55de78..ad2efa2 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteSubstring.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ByteSubstring.java @@ -71,7 +71,7 @@ public class ByteSubstring implements DrillSimpleFunc { out.start = string.end + (int)offset.value; else out.start = (int)offset.value - 1; - + // calculate end position from length and truncate to upper value bounds if (out.start + length.value > string.end) out.end = string.end; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CastBigIntTimeStampTZ.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CastBigIntTimeStampTZ.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CastBigIntTimeStampTZ.java index 4d35507..014a4d4 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CastBigIntTimeStampTZ.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CastBigIntTimeStampTZ.java @@ -26,7 +26,6 @@ import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BigIntHolder; import org.apache.drill.exec.expr.holders.TimeStampTZHolder; import org.apache.drill.exec.record.RecordBatch; -import org.joda.time.DateTime; @SuppressWarnings("unused") @FunctionTemplate(names = {"castTIMESTAMPTZ", "to_timestamptz"}, scope = FunctionTemplate.FunctionScope.SIMPLE, nulls= NullHandling.NULL_IF_NULL) http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CharSubstring.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CharSubstring.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CharSubstring.java index 9b18f58..5fdc6f2 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CharSubstring.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/CharSubstring.java @@ -38,11 +38,11 @@ import org.apache.drill.exec.record.RecordBatch; * value's length will be used. * * - If the substring is invalid, return an empty string. - * + * * - NOTE: UTF-8 values range from 1 to 4 bytes per character, thus searching for the * start, length, and negative length may result in 3 partial scans of the * UTF-8 string. - * + * * - TODO: implement optional length parameter */ @FunctionTemplate(names = {"charsubstring", "substring2", "substr2"}, @@ -103,7 +103,7 @@ public class CharSubstring implements DrillSimpleFunc { int endCharPos = --charCount; while (byteCount >= 0) { currentByte = string.buffer.getByte(byteCount); - + if (endCharPos - charCount == -(int)offset.value) { // matched the negative start offset out.start = byteCount; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java index 15034cd..bf42ce6 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java @@ -17,18 +17,6 @@ */ package org.apache.drill.exec.expr.fn.impl; -import org.apache.drill.exec.expr.DrillSimpleFunc; -import org.apache.drill.exec.expr.annotations.FunctionTemplate; -import org.apache.drill.exec.expr.annotations.Output; -import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.holders.BigIntHolder; -import org.apache.drill.exec.expr.holders.BitHolder; -import org.apache.drill.exec.expr.holders.Float4Holder; -import org.apache.drill.exec.expr.holders.Float8Holder; -import org.apache.drill.exec.expr.holders.IntHolder; -import org.apache.drill.exec.expr.holders.VarBinaryHolder; -import org.apache.drill.exec.expr.holders.VarCharHolder; -import org.apache.drill.exec.record.RecordBatch; public class ComparisonFunctions { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(MathFunctions.class); @@ -370,7 +358,7 @@ public class ComparisonFunctions { // out.value = (left.value <= right.value) ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "equal", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryEqual implements DrillSimpleFunc { // @@ -384,7 +372,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == 0 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "equal", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarCharEqual implements DrillSimpleFunc { // @@ -398,7 +386,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == 0 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "equal", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryCharEqual implements DrillSimpleFunc { // @@ -412,7 +400,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == 0 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "greater than or equal to", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryGTE implements DrillSimpleFunc { // @@ -426,7 +414,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) > -1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "greater than or equal to", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarCharGTE implements DrillSimpleFunc { // @@ -440,7 +428,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) > -1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "greater than or equal to", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryCharGTE implements DrillSimpleFunc { // @@ -454,7 +442,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) > -1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "greater than", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryGT implements DrillSimpleFunc { // @@ -468,7 +456,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == 1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "greater than", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarCharGT implements DrillSimpleFunc { // @@ -482,7 +470,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == 1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "greater than", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryCharGT implements DrillSimpleFunc { // @@ -496,7 +484,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == 1? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "less than or equal to", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryLTE implements DrillSimpleFunc { // @@ -510,7 +498,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) < 1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "less than or equal to", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarCharLTE implements DrillSimpleFunc { // @@ -524,7 +512,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) < 1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "less than or equal to", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryCharLTE implements DrillSimpleFunc { // @@ -538,7 +526,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) < 1? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "less than", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryLT implements DrillSimpleFunc { // @@ -552,7 +540,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == -1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "less than", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarCharLT implements DrillSimpleFunc { // @@ -566,7 +554,7 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == -1 ? 1 : 0; // } // } -// +// // @FunctionTemplate(name = "less than", scope = FunctionTemplate.FunctionScope.SIMPLE) // public static class VarBinaryCharLT implements DrillSimpleFunc { // @@ -580,5 +568,5 @@ public class ComparisonFunctions { // out.value = org.apache.drill.exec.expr.fn.impl.VarHelpers.compare(left, right) == -1 ? 1 : 0; // } // } - + } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DateUtility.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DateUtility.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DateUtility.java index 5a3a214..a031bee 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DateUtility.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DateUtility.java @@ -18,8 +18,6 @@ package org.apache.drill.exec.expr.fn.impl; -import java.util.HashMap; - import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.DateTimeFormatterBuilder; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DrillByteArray.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DrillByteArray.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DrillByteArray.java index d1c67ef..5fd7e52 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DrillByteArray.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/DrillByteArray.java @@ -19,7 +19,7 @@ package org.apache.drill.exec.expr.fn.impl; /** * Thin wrapper around byte array. This class is used by aggregate functions which - * consume decimal, variable width vectors as inputs. + * consume decimal, variable width vectors as inputs. */ public class DrillByteArray { private byte[] bytes; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/HashHelper.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/HashHelper.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/HashHelper.java index c089c00..0e9509a 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/HashHelper.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/HashHelper.java @@ -22,8 +22,8 @@ import java.nio.ByteOrder; public class HashHelper { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(HashHelper.class); - - + + /** taken from mahout **/ public static int hash(ByteBuffer buf, int seed) { // save byte order for later restoration http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java index cc1eab9..39288b4 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java @@ -17,6 +17,8 @@ */ package org.apache.drill.exec.expr.fn.impl; +import java.text.DecimalFormat; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; @@ -25,50 +27,44 @@ import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BigIntHolder; -import org.apache.drill.exec.expr.holders.Float4Holder; import org.apache.drill.exec.expr.holders.Float8Holder; -import org.apache.drill.exec.expr.holders.IntHolder; import org.apache.drill.exec.expr.holders.VarCharHolder; import org.apache.drill.exec.record.RecordBatch; -import java.math.BigDecimal; -import java.text.DecimalFormat; -import java.text.ParseException; - public class MathFunctions{ static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(MathFunctions.class); - + private MathFunctions(){} - + @FunctionTemplate(names = {"negative", "u-", "-"}, scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL) public static class Negative implements DrillSimpleFunc{ - + @Param BigIntHolder input; @Output BigIntHolder out; public void setup(RecordBatch b){} - + public void eval(){ out.value = -input.value; return; } - } + } @FunctionTemplate(name = "power", scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL) public static class Power implements DrillSimpleFunc{ - + @Param Float8Holder a; @Param Float8Holder b; @Output Float8Holder out; public void setup(RecordBatch b){} - + public void eval(){ out.value = java.lang.Math.pow(a.value, b.value); } - } + } @FunctionTemplate(name = "random", isRandom = true, scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL) @@ -76,7 +72,7 @@ public class MathFunctions{ @Output Float8Holder out; public void setup(RecordBatch b){} - + public void eval(){ out.value = java.lang.Math.random(); } http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/RegexpUtil.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/RegexpUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/RegexpUtil.java index 0b48d0e..38c8316 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/RegexpUtil.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/RegexpUtil.java @@ -18,7 +18,7 @@ package org.apache.drill.exec.expr.fn.impl; /** - * Code copied from optiq (https://github.com/julianhyde/optiq). + * Code copied from optiq (https://github.com/julianhyde/optiq). * Thanks goes to Julian Hyde and other contributors of optiq. */ @@ -48,12 +48,12 @@ public class RegexpUtil { }; /** - * Translates a SQL LIKE pattern to Java regex pattern. No escape char. + * Translates a SQL LIKE pattern to Java regex pattern. No escape char. */ public static String sqlToRegexLike(String sqlPattern) { return sqlToRegexLike(sqlPattern, (char)0); } - + /** * Translates a SQL LIKE pattern to Java regex pattern, with optional * escape string. @@ -216,12 +216,12 @@ public class RegexpUtil { } /** - * Translates a SQL SIMILAR pattern to Java regex pattern. No escape char. - */ + * Translates a SQL SIMILAR pattern to Java regex pattern. No escape char. + */ public static String sqlToRegexSimilar(String sqlPattern) { return sqlToRegexSimilar(sqlPattern, (char) 0); } - + /** * Translates a SQL SIMILAR pattern to Java regex pattern, with optional * escape string. http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionUtil.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionUtil.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionUtil.java index 6825309..3b7efbd 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionUtil.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionUtil.java @@ -17,10 +17,10 @@ */ package org.apache.drill.exec.expr.fn.impl; -import org.apache.drill.common.exceptions.DrillRuntimeException; - import io.netty.buffer.ByteBuf; +import org.apache.drill.common.exceptions.DrillRuntimeException; + public class StringFunctionUtil { /* Decode the input bytebuf using UTF-8, and return the number of characters http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntConvertTo.java index 7f6c8d2..57dd2d5 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BigIntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntVLongConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntVLongConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntVLongConvertTo.java index 7a6f302..c647d3a 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntVLongConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BigIntVLongConvertTo.java @@ -17,18 +17,16 @@ */ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BigIntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BooleanByteConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BooleanByteConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BooleanByteConvertTo.java index c2a63b5..43db659 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BooleanByteConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/BooleanByteConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.BitHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochBEConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochBEConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochBEConvertTo.java index 4affa55..12136f3 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochBEConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochBEConvertTo.java @@ -17,18 +17,16 @@ */ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.DateHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochConvertTo.java index adaba9f..bddb621 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DateEpochConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.DateHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DoubleConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DoubleConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DoubleConvertTo.java index dd0c7f8..29f625e 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DoubleConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DoubleConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.Float8Holder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertFrom.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertFrom.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertFrom.java index ac75f48..50e0cbb 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertFrom.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertFrom.java @@ -28,7 +28,7 @@ import org.apache.drill.exec.record.RecordBatch; /** * This and {@link DummyConvertTo} class merely act as a placeholder so that Optiq - * allows 'convert_to()' and 'convert_from()' functions in SQL. + * allows 'convert_to()' and 'convert_from()' functions in SQL. */ @FunctionTemplate(name = "convert_from", scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL) public class DummyConvertFrom implements DrillSimpleFunc { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertTo.java index 36ddf6d..c2ac3ef 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/DummyConvertTo.java @@ -28,7 +28,7 @@ import org.apache.drill.exec.record.RecordBatch; /** * This and {@link DummyConvertFrom} class merely act as a placeholder so that Optiq - * allows 'convert_to()' and 'convert_from()' functions in SQL. + * allows 'convert_to()' and 'convert_from()' functions in SQL. */ @FunctionTemplate(name = "convert_to", scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL) public class DummyConvertTo implements DrillSimpleFunc { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/FloatConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/FloatConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/FloatConvertTo.java index 9175901..3cce965 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/FloatConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/FloatConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.Float4Holder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntBEConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntBEConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntBEConvertTo.java index 45687f5..02ee8e2 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntBEConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntBEConvertTo.java @@ -17,18 +17,16 @@ */ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.IntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntConvertTo.java index 0ef7700..4dd1ef4 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.IntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntVIntConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntVIntConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntVIntConvertTo.java index be09245..715c72d 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntVIntConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/IntVIntConvertTo.java @@ -17,18 +17,16 @@ */ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.IntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/JsonConvertFrom.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/JsonConvertFrom.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/JsonConvertFrom.java index 62d526b..46b5390 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/JsonConvertFrom.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/JsonConvertFrom.java @@ -19,30 +19,21 @@ package org.apache.drill.exec.expr.fn.impl.conv; -import java.io.ByteArrayOutputStream; -import java.io.StringReader; +import io.netty.buffer.DrillBuf; import javax.inject.Inject; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.DrillBuf; - import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; -import org.apache.drill.exec.expr.annotations.Output; -import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; +import org.apache.drill.exec.expr.annotations.Output; +import org.apache.drill.exec.expr.annotations.Param; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.expr.holders.VarCharHolder; import org.apache.drill.exec.record.RecordBatch; -import org.apache.drill.exec.vector.complex.fn.JsonWriter; -import org.apache.drill.exec.vector.complex.reader.FieldReader; import org.apache.drill.exec.vector.complex.writer.BaseWriter.ComplexWriter; -import com.google.common.base.Charsets; - public class JsonConvertFrom { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(JsonConvertFrom.class); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntBEConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntBEConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntBEConvertTo.java index 68c9f33..b1620e6 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntBEConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntBEConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.SmallIntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntConvertTo.java index 2d97033..2cdaafb 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/SmallIntConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.SmallIntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochBEConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochBEConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochBEConvertTo.java index 06cd085..bbd75a6 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochBEConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochBEConvertTo.java @@ -17,18 +17,16 @@ */ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.TimeHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochConvertTo.java index d3802e8..c9baad3 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TimeEpochConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.TimeHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TinyIntConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TinyIntConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TinyIntConvertTo.java index f4d582e..3abde4f 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TinyIntConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/TinyIntConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.TinyIntHolder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch; http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/39990292/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/UInt8ConvertTo.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/UInt8ConvertTo.java b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/UInt8ConvertTo.java index 4e6d606..904151f 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/UInt8ConvertTo.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/conv/UInt8ConvertTo.java @@ -18,18 +18,16 @@ ******************************************************************************/ package org.apache.drill.exec.expr.fn.impl.conv; -import javax.inject.Inject; - -import io.netty.buffer.ByteBuf; import io.netty.buffer.DrillBuf; +import javax.inject.Inject; + import org.apache.drill.exec.expr.DrillSimpleFunc; import org.apache.drill.exec.expr.annotations.FunctionTemplate; import org.apache.drill.exec.expr.annotations.FunctionTemplate.FunctionScope; import org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling; import org.apache.drill.exec.expr.annotations.Output; import org.apache.drill.exec.expr.annotations.Param; -import org.apache.drill.exec.expr.annotations.Workspace; import org.apache.drill.exec.expr.holders.UInt8Holder; import org.apache.drill.exec.expr.holders.VarBinaryHolder; import org.apache.drill.exec.record.RecordBatch;