evaluate(outputColVector, inV, 0); } else { outputIsNull[0] = true; evaluate(outputColVector, inV, i); evaluate(outputColVector, inV, i); evaluate(outputColVector, inV, i); evaluate(outputColVector, inV, i); } else { outputColVector.isNull[i] = true; evaluate(outputColVector, inV, i); } else { outputColVector.isNull[i] = true;
@Override public String vectorExpressionParameters() { return getColumnParamString(0, inputColumn); }
private void validateToDate(VectorizedRowBatch batch, PrimitiveCategory colType, LongColumnVector date) throws HiveException { VectorExpression udf; if (colType == PrimitiveCategory.STRING || colType == PrimitiveCategory.CHAR || colType == PrimitiveCategory.VARCHAR) { udf = new CastStringToDate(0, 1); } else if (colType == PrimitiveCategory.TIMESTAMP) { udf = new CastTimestampToDate(0, 1); } else { throw new RuntimeException("Unexpected column type " + colType); } udf.setInputTypeInfos(new TypeInfo[] {primitiveCategoryToTypeInfo(colType)}); udf.transientInit(); udf.evaluate(batch); LongColumnVector output = (LongColumnVector) batch.cols[1]; for (int i = 0; i < size; i++) { long actual = output.vector[i]; if (date.isNull[i]) { Assert.assertTrue(output.isNull[i]); } else { long expected = date.vector[i]; Assert.assertEquals(expected, actual); } } }
VectorExpression udf = new CastStringToDate(0, 1); udf.setInputTypeInfos(new TypeInfo[] {TypeInfoFactory.stringTypeInfo}); udf.transientInit();
if (inV.isRepeating) { outV.isRepeating = true; evaluate(outV, inV, 0); } else if (batch.selectedInUse) { for(int j = 0; j != n; j++) { int i = sel[j]; evaluate(outV, inV, i); evaluate(outV, inV, i); outV.isNull[0] = inV.isNull[0]; if (!inV.isNull[0]) { evaluate(outV, inV, 0); outV.isNull[i] = inV.isNull[i]; if (!inV.isNull[i]) { evaluate(outV, inV, i); for(int i = 0; i != n; i++) { if (!inV.isNull[i]) { evaluate(outV, inV, i);
if (inV.isRepeating) { outV.isRepeating = true; evaluate(outV, inV, 0); } else if (batch.selectedInUse) { for(int j = 0; j != n; j++) { int i = sel[j]; evaluate(outV, inV, i); evaluate(outV, inV, i); outV.isNull[0] = inV.isNull[0]; if (!inV.isNull[0]) { evaluate(outV, inV, 0); outV.isNull[i] = inV.isNull[i]; if (!inV.isNull[i]) { evaluate(outV, inV, i); for(int i = 0; i != n; i++) { if (!inV.isNull[i]) { evaluate(outV, inV, i);