You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2014/09/05 21:15:48 UTC
svn commit: r1622763 [14/17] - in /hive/branches/tez: ./
ant/src/org/apache/hadoop/hive/ant/
hcatalog/streaming/src/java/org/apache/hive/hcatalog/streaming/
hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/
itests/hive-unit/ itests/hive-u...
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToString.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToString.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToString.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDecimalToString.java Fri Sep 5 19:15:44 2014
@@ -36,6 +36,11 @@ public class CastDecimalToString extends
super(inputColumn, outputColumn);
}
+ // The assign method will be overridden for CHAR and VARCHAR.
+ protected void assign(BytesColumnVector outV, int i, byte[] bytes, int length) {
+ outV.setVal(i, bytes, 0, length);
+ }
+
@Override
protected void func(BytesColumnVector outV, DecimalColumnVector inV, int i) {
String s = inV.vector[i].getHiveDecimalString();
@@ -47,6 +52,6 @@ public class CastDecimalToString extends
// This should never happen. If it does, there is a bug.
throw new RuntimeException("Internal error: unable to convert decimal to string");
}
- outV.setVal(i, b, 0, b.length);
+ assign(outV, i, b, b.length);
}
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToDate.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToDate.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToDate.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToDate.java Fri Sep 5 19:15:44 2014
@@ -122,6 +122,8 @@ public class CastLongToDate extends Vect
case DATE:
inV.copySelected(batch.selectedInUse, batch.selected, batch.size, outV);
break;
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
}
@@ -153,7 +155,7 @@ public class CastLongToDate extends Vect
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.DATETIME_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToString.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToString.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToString.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastLongToString.java Fri Sep 5 19:15:44 2014
@@ -34,9 +34,14 @@ public class CastLongToString extends Lo
temp = new byte[20];
}
+ // The assign method will be overridden for CHAR and VARCHAR.
+ protected void assign(BytesColumnVector outV, int i, byte[] bytes, int length) {
+ outV.setVal(i, bytes, 0, length);
+ }
+
@Override
protected void func(BytesColumnVector outV, long[] vector, int i) {
int len = MathExpr.writeLongToUTF8(temp, vector[i]);
- outV.setVal(i, temp, 0, len);
+ assign(outV, i, temp, len);
}
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDate.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDate.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDate.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDate.java Fri Sep 5 19:15:44 2014
@@ -154,7 +154,7 @@ public class CastStringToDate extends Ve
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDecimal.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDecimal.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDecimal.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToDecimal.java Fri Sep 5 19:15:44 2014
@@ -159,7 +159,7 @@ public class CastStringToDecimal extends
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java Fri Sep 5 19:15:44 2014
@@ -18,7 +18,11 @@
package org.apache.hadoop.hive.ql.exec.vector.expressions;
+import java.util.Arrays;
+
import org.apache.hadoop.hive.common.type.Decimal128;
+import org.apache.hadoop.hive.common.type.HiveChar;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.ql.exec.vector.*;
import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
@@ -71,6 +75,16 @@ public class ConstantVectorExpression ex
setBytesValue(value);
}
+ public ConstantVectorExpression(int outputColumn, HiveChar value) {
+ this(outputColumn, "char");
+ setBytesValue(value.getStrippedValue().getBytes());
+ }
+
+ public ConstantVectorExpression(int outputColumn, HiveVarchar value) {
+ this(outputColumn, "varchar");
+ setBytesValue(value.getValue().getBytes());
+ }
+
public ConstantVectorExpression(int outputColumn, Decimal128 value) {
this(outputColumn, "decimal");
setDecimalValue(value);
@@ -173,7 +187,7 @@ public class ConstantVectorExpression ex
}
public void setBytesValue(byte[] bytesValue) {
- this.bytesValue = bytesValue;
+ this.bytesValue = bytesValue.clone();
this.bytesValueLength = bytesValue.length;
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/DecimalToStringUnaryUDF.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/DecimalToStringUnaryUDF.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/DecimalToStringUnaryUDF.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/DecimalToStringUnaryUDF.java Fri Sep 5 19:15:44 2014
@@ -130,7 +130,7 @@ abstract public class DecimalToStringUna
@Override
public String getOutputType() {
- return "Decimal";
+ return "String";
}
@Override
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColAndScalar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColAndScalar.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColAndScalar.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColAndScalar.java Fri Sep 5 19:15:44 2014
@@ -79,8 +79,8 @@ public class FilterColAndScalar extends
VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColOrScalar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColOrScalar.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColOrScalar.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterColOrScalar.java Fri Sep 5 19:15:44 2014
@@ -79,8 +79,8 @@ public class FilterColOrScalar extends V
VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprAndExpr.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprAndExpr.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprAndExpr.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprAndExpr.java Fri Sep 5 19:15:44 2014
@@ -55,8 +55,8 @@ public class FilterExprAndExpr extends V
VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterExprOrExpr.java Fri Sep 5 19:15:44 2014
@@ -128,8 +128,8 @@ public class FilterExprOrExpr extends Ve
VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarAndColumn.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarAndColumn.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarAndColumn.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarAndColumn.java Fri Sep 5 19:15:44 2014
@@ -79,8 +79,8 @@ public class FilterScalarAndColumn exten
VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarOrColumn.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarOrColumn.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarOrColumn.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterScalarOrColumn.java Fri Sep 5 19:15:44 2014
@@ -79,8 +79,8 @@ public class FilterScalarOrColumn extend
VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncDoubleToDecimal.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncDoubleToDecimal.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncDoubleToDecimal.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncDoubleToDecimal.java Fri Sep 5 19:15:44 2014
@@ -137,7 +137,7 @@ public abstract class FuncDoubleToDecima
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.DOUBLE)
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseDoubleToDouble.java Fri Sep 5 19:15:44 2014
@@ -61,8 +61,8 @@ public class FuncLogWithBaseDoubleToDoub
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.DOUBLE,
- VectorExpressionDescriptor.ArgumentType.DOUBLE)
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLogWithBaseLongToDouble.java Fri Sep 5 19:15:44 2014
@@ -62,8 +62,8 @@ public class FuncLogWithBaseLongToDouble
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.DOUBLE,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToDecimal.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToDecimal.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToDecimal.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToDecimal.java Fri Sep 5 19:15:44 2014
@@ -137,7 +137,7 @@ public abstract class FuncLongToDecimal
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToString.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToString.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToString.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncLongToString.java Fri Sep 5 19:15:44 2014
@@ -149,6 +149,6 @@ public abstract class FuncLongToString e
return (new VectorExpressionDescriptor.Builder()).setMode(
VectorExpressionDescriptor.Mode.PROJECTION).setNumArguments(1).setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN).setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG).build();
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY).build();
}
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerDoubleToDouble.java Fri Sep 5 19:15:44 2014
@@ -70,8 +70,8 @@ public class FuncPowerDoubleToDouble ext
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.DOUBLE,
- VectorExpressionDescriptor.ArgumentType.DOUBLE)
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncPowerLongToDouble.java Fri Sep 5 19:15:44 2014
@@ -71,8 +71,8 @@ public class FuncPowerLongToDouble exten
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.DOUBLE)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRand.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRand.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRand.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRand.java Fri Sep 5 19:15:44 2014
@@ -110,7 +110,7 @@ public class FuncRand extends VectorExpr
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRoundWithNumDigitsDecimalToDecimal.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRoundWithNumDigitsDecimalToDecimal.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRoundWithNumDigitsDecimalToDecimal.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FuncRoundWithNumDigitsDecimalToDecimal.java Fri Sep 5 19:15:44 2014
@@ -149,7 +149,7 @@ public class FuncRoundWithNumDigitsDecim
.setNumArguments(2)
.setArgumentTypes(
VectorExpressionDescriptor.ArgumentType.DECIMAL,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IfExprStringScalarStringScalar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IfExprStringScalarStringScalar.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IfExprStringScalarStringScalar.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IfExprStringScalarStringScalar.java Fri Sep 5 19:15:44 2014
@@ -132,34 +132,6 @@ public class IfExprStringScalarStringSca
return "String";
}
- public int getArg1Column() {
- return arg1Column;
- }
-
- public void setArg1Column(int colNum) {
- this.arg1Column = colNum;
- }
-
- public byte[] getArg2Scalar() {
- return arg2Scalar;
- }
-
- public void setArg2Scalar(byte[] value) {
- this.arg2Scalar = value;
- }
-
- public byte[] getArg3Scalar() {
- return arg3Scalar;
- }
-
- public void setArg3Scalar(byte[] value) {
- this.arg3Scalar = value;
- }
-
- public void setOutputColumn(int outputColumn) {
- this.outputColumn = outputColumn;
- }
-
@Override
public VectorExpressionDescriptor.Descriptor getDescriptor() {
return (new VectorExpressionDescriptor.Builder())
@@ -167,9 +139,9 @@ public class IfExprStringScalarStringSca
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(3)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.getType("long"),
- VectorExpressionDescriptor.ArgumentType.getType("string"),
- VectorExpressionDescriptor.ArgumentType.getType("string"))
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.STRING,
+ VectorExpressionDescriptor.ArgumentType.STRING)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR,
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNotNull.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNotNull.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNotNull.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNotNull.java Fri Sep 5 19:15:44 2014
@@ -113,7 +113,7 @@ public class IsNotNull extends VectorExp
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.ALL_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNull.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNull.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNull.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/IsNull.java Fri Sep 5 19:15:44 2014
@@ -110,7 +110,7 @@ public class IsNull extends VectorExpres
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.ALL_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongColumn.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongColumn.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongColumn.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongColumn.java Fri Sep 5 19:15:44 2014
@@ -180,8 +180,8 @@ public class LongColDivideLongColumn ext
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongScalar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongScalar.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongScalar.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongColDivideLongScalar.java Fri Sep 5 19:15:44 2014
@@ -147,8 +147,8 @@ public class LongColDivideLongScalar ext
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongScalarDivideLongColumn.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongScalarDivideLongColumn.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongScalarDivideLongColumn.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongScalarDivideLongColumn.java Fri Sep 5 19:15:44 2014
@@ -159,8 +159,8 @@ public class LongScalarDivideLongColumn
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongToStringUnaryUDF.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongToStringUnaryUDF.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongToStringUnaryUDF.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/LongToStringUnaryUDF.java Fri Sep 5 19:15:44 2014
@@ -140,7 +140,7 @@ abstract public class LongToStringUnaryU
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/NotCol.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/NotCol.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/NotCol.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/NotCol.java Fri Sep 5 19:15:44 2014
@@ -128,7 +128,7 @@ public class NotCol extends VectorExpres
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModDoubleToDouble.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModDoubleToDouble.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModDoubleToDouble.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModDoubleToDouble.java Fri Sep 5 19:15:44 2014
@@ -61,8 +61,8 @@ public class PosModDoubleToDouble extend
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.DOUBLE)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModLongToLong.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModLongToLong.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModLongToLong.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/PosModLongToLong.java Fri Sep 5 19:15:44 2014
@@ -61,8 +61,8 @@ public class PosModLongToLong extends Ma
VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR).build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/RoundWithNumDigitsDoubleToDouble.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/RoundWithNumDigitsDoubleToDouble.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/RoundWithNumDigitsDoubleToDouble.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/RoundWithNumDigitsDoubleToDouble.java Fri Sep 5 19:15:44 2014
@@ -64,8 +64,8 @@ public class RoundWithNumDigitsDoubleToD
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.DOUBLE,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.FLOAT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsFalse.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsFalse.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsFalse.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsFalse.java Fri Sep 5 19:15:44 2014
@@ -144,7 +144,7 @@ public class SelectColumnIsFalse extends
b.setMode(VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNotNull.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNotNull.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNotNull.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNotNull.java Fri Sep 5 19:15:44 2014
@@ -113,7 +113,7 @@ public class SelectColumnIsNotNull exten
b.setMode(VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.ALL_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNull.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNull.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNull.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsNull.java Fri Sep 5 19:15:44 2014
@@ -111,7 +111,7 @@ public class SelectColumnIsNull extends
b.setMode(VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.ALL_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsTrue.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsTrue.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsTrue.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/SelectColumnIsTrue.java Fri Sep 5 19:15:44 2014
@@ -143,7 +143,7 @@ public class SelectColumnIsTrue extends
b.setMode(VectorExpressionDescriptor.Mode.FILTER)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringExpr.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringExpr.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringExpr.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringExpr.java Fri Sep 5 19:15:44 2014
@@ -18,6 +18,10 @@
package org.apache.hadoop.hive.ql.exec.vector.expressions;
+import java.util.Arrays;
+
+import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
+
/**
* String expression evaluation helper functions.
*/
@@ -32,6 +36,7 @@ public class StringExpr {
*/
public static int compare(byte[] arg1, int start1, int len1, byte[] arg2, int start2, int len2) {
for (int i = 0; i < len1 && i < len2; i++) {
+ // Note the "& 0xff" is just a way to convert unsigned bytes to signed integer.
int b1 = arg1[i + start1] & 0xff;
int b2 = arg2[i + start2] & 0xff;
if (b1 != b2) {
@@ -40,4 +45,259 @@ public class StringExpr {
}
return len1 - len2;
}
+
+ public static int characterCount(byte[] bytes) {
+ int end = bytes.length;
+
+ // count characters
+ int j = 0;
+ int charCount = 0;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ ++charCount;
+ }
+ j++;
+ }
+ return charCount;
+ }
+
+ public static int characterCount(byte[] bytes, int start, int length) {
+ int end = start + length;
+
+ // count characters
+ int j = start;
+ int charCount = 0;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ ++charCount;
+ }
+ j++;
+ }
+ return charCount;
+ }
+
+ // A setVal with the same function signature as rightTrim, leftTrim, truncate, etc, below.
+ // Useful for class generation via templates.
+ public static void assign(BytesColumnVector outV, int i, byte[] bytes, int start, int length) {
+ // set output vector
+ outV.setVal(i, bytes, start, length);
+ }
+
+ /*
+ * Right trim a slice of a byte array and return the new byte length.
+ */
+ public static int rightTrim(byte[] bytes, int start, int length) {
+ // skip trailing blank characters
+ int j = start + length - 1;
+ while(j >= start && bytes[j] == 0x20) {
+ j--;
+ }
+
+ return (j - start) + 1;
+ }
+
+ /*
+ * Right trim a slice of a byte array and place the result into element i of a vector.
+ */
+ public static void rightTrim(BytesColumnVector outV, int i, byte[] bytes, int start, int length) {
+ // skip trailing blank characters
+ int j = start + length - 1;
+ while(j >= start && bytes[j] == 0x20) {
+ j--;
+ }
+
+ // set output vector
+ outV.setVal(i, bytes, start, (j - start) + 1);
+ }
+
+ /*
+ * Truncate a slice of a byte array to a maximum number of characters and
+ * return the new byte length.
+ */
+ public static int truncate(byte[] bytes, int start, int length, int maxLength) {
+ int end = start + length;
+
+ // count characters forward
+ int j = start;
+ int charCount = 0;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ if (charCount == maxLength) {
+ break;
+ }
+ ++charCount;
+ }
+ j++;
+ }
+ return (j - start);
+ }
+
+ /*
+ * Truncate a slice of a byte array to a maximum number of characters and
+ * place the result into element i of a vector.
+ */
+ public static void truncate(BytesColumnVector outV, int i, byte[] bytes, int start, int length, int maxLength) {
+ int end = start + length;
+
+ // count characters forward
+ int j = start;
+ int charCount = 0;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ if (charCount == maxLength) {
+ break;
+ }
+ ++charCount;
+ }
+ j++;
+ }
+
+ // set output vector
+ outV.setVal(i, bytes, start, (j - start));
+ }
+
+ /*
+ * Truncate a byte array to a maximum number of characters and
+ * return a byte array with only truncated bytes.
+ */
+ public static byte[] truncateScalar(byte[] bytes, int maxLength) {
+ int end = bytes.length;
+
+ // count characters forward
+ int j = 0;
+ int charCount = 0;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ if (charCount == maxLength) {
+ break;
+ }
+ ++charCount;
+ }
+ j++;
+ }
+ if (j == end) {
+ return bytes;
+ } else {
+ return Arrays.copyOf(bytes, j);
+ }
+ }
+
+ /*
+ * Right trim and truncate a slice of a byte array to a maximum number of characters and
+ * return the new byte length.
+ */
+ public static int rightTrimAndTruncate(byte[] bytes, int start, int length, int maxLength) {
+ int end = start + length;
+
+ // count characters forward and watch for final run of pads
+ int j = start;
+ int charCount = 0;
+ int padRunStart = -1;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ if (charCount == maxLength) {
+ break;
+ }
+ if (bytes[j] == 0x20) {
+ if (padRunStart == -1) {
+ padRunStart = j;
+ }
+ } else {
+ padRunStart = -1;
+ }
+ ++charCount;
+ } else {
+ padRunStart = -1;
+ }
+ j++;
+ }
+ if (padRunStart != -1) {
+ return (padRunStart - start);
+ } else {
+ return (j - start);
+ }
+ }
+
+ /*
+ * Right trim and truncate a slice of a byte array to a maximum number of characters and
+ * place the result into element i of a vector.
+ */
+ public static void rightTrimAndTruncate(BytesColumnVector outV, int i, byte[] bytes, int start, int length, int maxLength) {
+ int end = start + length;
+
+ // count characters forward and watch for final run of pads
+ int j = start;
+ int charCount = 0;
+ int padRunStart = -1;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ if (charCount == maxLength) {
+ break;
+ }
+ if (bytes[j] == 0x20) {
+ if (padRunStart == -1) {
+ padRunStart = j;
+ }
+ } else {
+ padRunStart = -1;
+ }
+ ++charCount;
+ } else {
+ padRunStart = -1;
+ }
+ j++;
+ }
+ // set output vector
+ if (padRunStart != -1) {
+ outV.setVal(i, bytes, start, (padRunStart - start));
+ } else {
+ outV.setVal(i, bytes, start, (j - start) );
+ }
+ }
+
+ /*
+ * Right trim and truncate a byte array to a maximum number of characters and
+ * return a byte array with only the trimmed and truncated bytes.
+ */
+ public static byte[] rightTrimAndTruncateScalar(byte[] bytes, int maxLength) {
+ int end = bytes.length;
+
+ // count characters forward and watch for final run of pads
+ int j = 0;
+ int charCount = 0;
+ int padRunStart = -1;
+ while(j < end) {
+ // UTF-8 continuation bytes have 2 high bits equal to 0x80.
+ if ((bytes[j] & 0xc0) != 0x80) {
+ if (charCount == maxLength) {
+ break;
+ }
+ if (bytes[j] == 0x20) {
+ if (padRunStart == -1) {
+ padRunStart = j;
+ }
+ } else {
+ padRunStart = -1;
+ }
+ ++charCount;
+ } else {
+ padRunStart = -1;
+ }
+ j++;
+ }
+ if (padRunStart != -1) {
+ return Arrays.copyOf(bytes, padRunStart);
+ } else if (j == end) {
+ return bytes;
+ } else {
+ return Arrays.copyOf(bytes, j);
+ }
+ }
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringLength.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringLength.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringLength.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringLength.java Fri Sep 5 19:15:44 2014
@@ -162,7 +162,7 @@ public class StringLength extends Vector
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStart.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStart.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStart.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStart.java Fri Sep 5 19:15:44 2014
@@ -250,8 +250,8 @@ public class StringSubstrColStart extend
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStartLen.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStartLen.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStartLen.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringSubstrColStartLen.java Fri Sep 5 19:15:44 2014
@@ -277,9 +277,9 @@ public class StringSubstrColStartLen ext
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(3)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING,
- VectorExpressionDescriptor.ArgumentType.LONG,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR,
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDF.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDF.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDF.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDF.java Fri Sep 5 19:15:44 2014
@@ -200,7 +200,7 @@ public class StringUnaryUDF extends Vect
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDFDirect.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDFDirect.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDFDirect.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StringUnaryUDFDirect.java Fri Sep 5 19:15:44 2014
@@ -142,7 +142,7 @@ abstract public class StringUnaryUDFDire
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpression.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpression.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpression.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpression.java Fri Sep 5 19:15:44 2014
@@ -30,16 +30,22 @@ import org.apache.hadoop.hive.ql.exec.ve
*/
public abstract class VectorExpression implements Serializable {
public enum Type {
- STRING, TIMESTAMP, DATE, OTHER;
+ STRING, CHAR, VARCHAR, TIMESTAMP, DATE, LONG, DOUBLE, DECIMAL, OTHER;
private static Map<String, Type> types = ImmutableMap.<String, Type>builder()
.put("string", STRING)
+ .put("char", CHAR)
+ .put("varchar", VARCHAR)
.put("timestamp", TIMESTAMP)
.put("date", DATE)
+ .put("long", LONG)
+ .put("double", DOUBLE)
+ .put("decimal", DECIMAL)
.build();
public static Type getValue(String name) {
- if (types.containsKey(name.toLowerCase())) {
- return types.get(name);
+ String nameLower = name.toLowerCase();
+ if (types.containsKey(nameLower)) {
+ return types.get(nameLower);
}
return OTHER;
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpressionWriterFactory.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpressionWriterFactory.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpressionWriterFactory.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorExpressionWriterFactory.java Fri Sep 5 19:15:44 2014
@@ -28,6 +28,7 @@ import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.common.type.Decimal128;
+import org.apache.hadoop.hive.common.type.HiveChar;
import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.ql.exec.vector.*;
@@ -46,6 +47,7 @@ import org.apache.hadoop.hive.serde2.obj
import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableDateObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableDoubleObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableFloatObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableHiveCharObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableHiveDecimalObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableHiveVarcharObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableIntObjectInspector;
@@ -403,6 +405,9 @@ public final class VectorExpressionWrite
case STRING:
return genVectorExpressionWritableString(
(SettableStringObjectInspector) fieldObjInspector);
+ case CHAR:
+ return genVectorExpressionWritableChar(
+ (SettableHiveCharObjectInspector) fieldObjInspector);
case VARCHAR:
return genVectorExpressionWritableVarchar(
(SettableHiveVarcharObjectInspector) fieldObjInspector);
@@ -558,6 +563,46 @@ public final class VectorExpressionWrite
}.init(fieldObjInspector);
}
+ private static VectorExpressionWriter genVectorExpressionWritableChar(
+ SettableHiveCharObjectInspector fieldObjInspector) throws HiveException {
+ return new VectorExpressionWriterBytes() {
+ private Object obj;
+ private Text text;
+
+ public VectorExpressionWriter init(SettableHiveCharObjectInspector objInspector)
+ throws HiveException {
+ super.init(objInspector);
+ this.text = new Text();
+ this.obj = initValue(null);
+ return this;
+ }
+
+ @Override
+ public Object writeValue(byte[] value, int start, int length) throws HiveException {
+ text.set(value, start, length);
+ ((SettableHiveCharObjectInspector) this.objectInspector).set(this.obj, text.toString());
+ return this.obj;
+ }
+
+ @Override
+ public Object setValue(Object field, byte[] value, int start, int length)
+ throws HiveException {
+ if (null == field) {
+ field = initValue(null);
+ }
+ text.set(value, start, length);
+ ((SettableHiveCharObjectInspector) this.objectInspector).set(field, text.toString());
+ return field;
+ }
+
+ @Override
+ public Object initValue(Object ignored) {
+ return ((SettableHiveCharObjectInspector) this.objectInspector)
+ .create(new HiveChar(StringUtils.EMPTY, -1));
+ }
+ }.init(fieldObjInspector);
+ }
+
private static VectorExpressionWriter genVectorExpressionWritableVarchar(
SettableHiveVarcharObjectInspector fieldObjInspector) throws HiveException {
return new VectorExpressionWriterBytes() {
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColCol.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColCol.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColCol.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColCol.java Fri Sep 5 19:15:44 2014
@@ -127,6 +127,8 @@ public class VectorUDFDateAddColCol exte
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
// Now disregard null in second pass.
if ((inputColVector1.isRepeating) && (inputColVector2.isRepeating)) {
// All must be selected otherwise size would be zero
@@ -144,6 +146,8 @@ public class VectorUDFDateAddColCol exte
}
}
break;
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
}
@@ -235,8 +239,8 @@ public class VectorUDFDateAddColCol exte
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.COLUMN);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColScalar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColScalar.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColScalar.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddColScalar.java Fri Sep 5 19:15:44 2014
@@ -165,6 +165,8 @@ public class VectorUDFDateAddColScalar e
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
if (inputCol.noNulls) {
outV.noNulls = true;
if (batch.selectedInUse) {
@@ -199,6 +201,8 @@ public class VectorUDFDateAddColScalar e
}
}
break;
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
}
@@ -286,8 +290,8 @@ public class VectorUDFDateAddColScalar e
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddScalarCol.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddScalarCol.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddScalarCol.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateAddScalarCol.java Fri Sep 5 19:15:44 2014
@@ -84,6 +84,8 @@ public class VectorUDFDateAddScalarCol e
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
try {
baseDate = formatter.parse(new String(stringValue, "UTF-8"));
break;
@@ -101,6 +103,8 @@ public class VectorUDFDateAddScalarCol e
}
return;
}
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
if(batch.size == 0) {
@@ -213,8 +217,8 @@ public class VectorUDFDateAddScalarCol e
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY,
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.INT_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColCol.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColCol.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColCol.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColCol.java Fri Sep 5 19:15:44 2014
@@ -191,12 +191,14 @@ public class VectorUDFDateDiffColCol ext
return dateVector;
case STRING:
+ case CHAR:
+ case VARCHAR:
BytesColumnVector bcv = (BytesColumnVector) inputColVector;
copySelected(bcv, batch.selectedInUse, batch.selected, batch.size, dateVector);
return dateVector;
+ default:
+ throw new Error("Unsupported input type " + colType.name());
}
-
- return null;
}
// Copy the current object contents into the output. Only copy selected entries,
@@ -314,8 +316,8 @@ public class VectorUDFDateDiffColCol ext
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY,
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.COLUMN);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColScalar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColScalar.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColScalar.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffColScalar.java Fri Sep 5 19:15:44 2014
@@ -18,6 +18,7 @@
package org.apache.hadoop.hive.ql.exec.vector.expressions;
+import org.apache.hadoop.hive.metastore.parser.ExpressionTree.Operator;
import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.ColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
@@ -90,6 +91,8 @@ public class VectorUDFDateDiffColScalar
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
try {
date.setTime(formatter.parse(new String(stringValue, "UTF-8")).getTime());
baseDate = DateWritable.dateToDays(date);
@@ -108,6 +111,8 @@ public class VectorUDFDateDiffColScalar
}
return;
}
+ default:
+ throw new Error("Invalid input type #1: " + inputTypes[1].name());
}
switch (inputTypes[0]) {
@@ -184,6 +189,8 @@ public class VectorUDFDateDiffColScalar
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
if (inputCol.noNulls) {
outV.noNulls = true;
if (batch.selectedInUse) {
@@ -218,6 +225,8 @@ public class VectorUDFDateDiffColScalar
}
}
break;
+ default:
+ throw new Error("Invalid input type #0: " + inputTypes[0].name());
}
}
@@ -287,8 +296,8 @@ public class VectorUDFDateDiffColScalar
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY,
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN,
VectorExpressionDescriptor.InputExpressionType.SCALAR);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffScalarCol.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffScalarCol.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffScalarCol.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateDiffScalarCol.java Fri Sep 5 19:15:44 2014
@@ -90,6 +90,8 @@ public class VectorUDFDateDiffScalarCol
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
try {
date.setTime(formatter.parse(new String(stringValue, "UTF-8")).getTime());
baseDate = DateWritable.dateToDays(date);
@@ -108,6 +110,8 @@ public class VectorUDFDateDiffScalarCol
}
return;
}
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
switch (inputTypes[1]) {
@@ -184,6 +188,8 @@ public class VectorUDFDateDiffScalarCol
break;
case STRING:
+ case CHAR:
+ case VARCHAR:
if (inputCol.noNulls) {
outV.noNulls = true;
if (batch.selectedInUse) {
@@ -218,6 +224,8 @@ public class VectorUDFDateDiffScalarCol
}
}
break;
+ default:
+ throw new Error("Unsupported input type " + inputTypes[1].name());
}
}
@@ -287,8 +295,8 @@ public class VectorUDFDateDiffScalarCol
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(2)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.ANY,
- VectorExpressionDescriptor.ArgumentType.ANY)
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY,
+ VectorExpressionDescriptor.ArgumentType.STRING_DATETIME_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.SCALAR,
VectorExpressionDescriptor.InputExpressionType.COLUMN);
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateLong.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateLong.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateLong.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFDateLong.java Fri Sep 5 19:15:44 2014
@@ -19,6 +19,7 @@
package org.apache.hadoop.hive.ql.exec.vector.expressions;
import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
+import org.apache.hadoop.hive.ql.exec.vector.VectorExpressionDescriptor;
import org.apache.hadoop.hive.serde2.io.DateWritable;
import java.io.UnsupportedEncodingException;
@@ -49,6 +50,8 @@ public class VectorUDFDateLong extends L
case TIMESTAMP:
date.setTime(vector[i] / 1000000);
break;
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
try {
byte[] bytes = formatter.format(date).getBytes("UTF-8");
@@ -58,4 +61,16 @@ public class VectorUDFDateLong extends L
outV.isNull[i] = true;
}
}
+
+ @Override
+ public VectorExpressionDescriptor.Descriptor getDescriptor() {
+ VectorExpressionDescriptor.Builder b = new VectorExpressionDescriptor.Builder();
+ b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
+ .setNumArguments(1)
+ .setArgumentTypes(
+ VectorExpressionDescriptor.ArgumentType.DATETIME_FAMILY)
+ .setInputExpressionTypes(
+ VectorExpressionDescriptor.InputExpressionType.COLUMN);
+ return b.build();
+ }
}
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldLong.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldLong.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldLong.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldLong.java Fri Sep 5 19:15:44 2014
@@ -179,6 +179,8 @@ public abstract class VectorUDFTimestamp
}
}
break;
+ default:
+ throw new Error("Unsupported input type " + inputTypes[0].name());
}
}
@@ -218,7 +220,7 @@ public abstract class VectorUDFTimestamp
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.LONG)
+ VectorExpressionDescriptor.ArgumentType.DATETIME_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldString.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldString.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldString.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/VectorUDFTimestampFieldString.java Fri Sep 5 19:15:44 2014
@@ -181,7 +181,7 @@ public abstract class VectorUDFTimestamp
b.setMode(VectorExpressionDescriptor.Mode.PROJECTION)
.setNumArguments(1)
.setArgumentTypes(
- VectorExpressionDescriptor.ArgumentType.STRING)
+ VectorExpressionDescriptor.ArgumentType.STRING_FAMILY)
.setInputExpressionTypes(
VectorExpressionDescriptor.InputExpressionType.COLUMN);
return b.build();
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/udf/VectorUDFAdaptor.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/udf/VectorUDFAdaptor.java?rev=1622763&r1=1622762&r2=1622763&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/udf/VectorUDFAdaptor.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/udf/VectorUDFAdaptor.java Fri Sep 5 19:15:44 2014
@@ -23,6 +23,7 @@ import java.sql.Timestamp;
import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.exec.vector.*;
+import org.apache.hadoop.hive.ql.exec.vector.expressions.StringExpr;
import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriter;
import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory;
@@ -30,8 +31,12 @@ import org.apache.hadoop.hive.ql.metadat
import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
import org.apache.hadoop.hive.serde2.io.DateWritable;
+import org.apache.hadoop.hive.serde2.io.HiveCharWritable;
+import org.apache.hadoop.hive.serde2.io.HiveVarcharWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.*;
+import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
import org.apache.hadoop.io.Text;
/**
@@ -215,6 +220,35 @@ public class VectorUDFAdaptor extends Ve
t = ((WritableStringObjectInspector) outputOI).getPrimitiveWritableObject(value);
}
bv.setVal(i, t.getBytes(), 0, t.getLength());
+ } else if (outputOI instanceof WritableHiveCharObjectInspector) {
+ WritableHiveCharObjectInspector writableHiveCharObjectOI = (WritableHiveCharObjectInspector) outputOI;
+ int maxLength = ((CharTypeInfo) writableHiveCharObjectOI.getTypeInfo()).getLength();
+ BytesColumnVector bv = (BytesColumnVector) colVec;
+
+ HiveCharWritable hiveCharWritable;
+ if (value instanceof HiveCharWritable) {
+ hiveCharWritable = ((HiveCharWritable) value);
+ } else {
+ hiveCharWritable = writableHiveCharObjectOI.getPrimitiveWritableObject(value);
+ }
+ Text t = hiveCharWritable.getTextValue();
+
+ // In vector mode, we stored CHAR as unpadded.
+ StringExpr.rightTrimAndTruncate(bv, i, t.getBytes(), 0, t.getLength(), maxLength);
+ } else if (outputOI instanceof WritableHiveVarcharObjectInspector) {
+ WritableHiveVarcharObjectInspector writableHiveVarcharObjectOI = (WritableHiveVarcharObjectInspector) outputOI;
+ int maxLength = ((VarcharTypeInfo) writableHiveVarcharObjectOI.getTypeInfo()).getLength();
+ BytesColumnVector bv = (BytesColumnVector) colVec;
+
+ HiveVarcharWritable hiveVarcharWritable;
+ if (value instanceof HiveVarcharWritable) {
+ hiveVarcharWritable = ((HiveVarcharWritable) value);
+ } else {
+ hiveVarcharWritable = writableHiveVarcharObjectOI.getPrimitiveWritableObject(value);
+ }
+ Text t = hiveVarcharWritable.getTextValue();
+
+ StringExpr.truncate(bv, i, t.getBytes(), 0, t.getLength(), maxLength);
} else if (outputOI instanceof WritableIntObjectInspector) {
LongColumnVector lv = (LongColumnVector) colVec;
if (value instanceof Integer) {