private IntWritable evaluate(Date date, Date date2) { if (date == null || date2 == null) { return null; } result.set(DateWritable.dateToDays(date) - DateWritable.dateToDays(date2)); return result; } }
/** * Set the DateWritable based on the year/month/day of the date in the local timezone. * @param d Date value */ public void set(Date d) { if (d == null) { daysSinceEpoch = 0; return; } set(dateToDays(d)); }
private void setDays(BytesColumnVector input, LongColumnVector output, int i) { String string = new String(input.vector[i], input.start[i], input.length[i]); try { date.setTime(formatter.parse(string).getTime()); output.vector[i] = DateWritable.dateToDays(date); } catch (ParseException e) { output.isNull[i] = true; output.noNulls = false; } }
protected void evaluateString(ColumnVector columnVector, LongColumnVector output, int i) { BytesColumnVector bcv = (BytesColumnVector) columnVector; text.set(bcv.vector[i], bcv.start[i], bcv.length[i]); try { date.setTime(formatter.parse(text.toString()).getTime()); output.vector[i] = DateWritable.dateToDays(date) - baseDate; } catch (ParseException e) { output.vector[i] = 1; output.isNull[i] = true; } } @Override
protected void evaluateString(ColumnVector columnVector, LongColumnVector output, int i) { BytesColumnVector bcv = (BytesColumnVector) columnVector; text.set(bcv.vector[i], bcv.start[i], bcv.length[i]); try { date.setTime(formatter.parse(text.toString()).getTime()); output.vector[i] = baseDate - DateWritable.dateToDays(date); } catch (ParseException e) { output.vector[i] = 1; output.isNull[i] = true; } } @Override
private void evaluate(LongColumnVector outV, BytesColumnVector inV, int i) { String dateString = new String(inV.vector[i], inV.start[i], inV.length[i], StandardCharsets.UTF_8); if (dateParser.parseDate(dateString, sqlDate)) { outV.vector[i] = DateWritable.dateToDays(sqlDate); return; } outV.vector[i] = 1; outV.isNull[i] = true; outV.noNulls = false; }
@Override public void write(Object value) { Date vDate = inspector.getPrimitiveJavaObject(value); recordConsumer.addInteger(DateWritable.dateToDays(vDate)); } }
protected int evaluateTimestamp(ColumnVector columnVector, int index) { TimestampColumnVector tcv = (TimestampColumnVector) columnVector; date.setTime(tcv.getTime(index)); return DateWritable.dateToDays(date) - baseDate; }
protected int evaluateTimestamp(ColumnVector columnVector, int index) { TimestampColumnVector tcv = (TimestampColumnVector) columnVector; date.setTime(tcv.getTime(index)); return baseDate - DateWritable.dateToDays(date); }
private Object getVectorTypeScalarValue(ExprNodeConstantDesc constDesc) throws HiveException { String t = constDesc.getTypeInfo().getTypeName(); VectorExpression.Type type = VectorExpression.Type.getValue(t); Object scalarValue = getScalarValue(constDesc); switch (type) { case DATE: return new Long(DateWritable.dateToDays((Date) scalarValue)); case INTERVAL_YEAR_MONTH: return ((HiveIntervalYearMonth) scalarValue).getTotalMonths(); default: return scalarValue; } }
output.vector[0] = DateWritable.dateToDays(date); int i = sel[j]; date.setTime(input.getTime(i)); output.vector[i] = DateWritable.dateToDays(date); output.vector[i] = DateWritable.dateToDays(date); if (!input.isNull[i]) { date.setTime(input.getTime(i)); output.vector[i] = DateWritable.dateToDays(date); if (!input.isNull[i]) { date.setTime(input.getTime(i)); output.vector[i] = DateWritable.dateToDays(date);
try { date.setTime(formatter.parse(string).getTime()); output.vector[0] = DateWritable.dateToDays(date); } catch (ParseException e) { output.isNull[0] = true;
dtm.add( scratchIntervalYearMonth1, value, outputDate); outputVector[0] = DateWritable.dateToDays(outputDate); dtm.add( scratchIntervalYearMonth1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.add( scratchIntervalYearMonth1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.add( scratchIntervalYearMonth1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); outputIsNull[i] = inputIsNull[i]; dtm.add( scratchIntervalYearMonth1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate);
dtm.add( value, scratchIntervalYearMonth2, outputDate); outputVector[0] = DateWritable.dateToDays(outputDate); dtm.add( value, scratchIntervalYearMonth2, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.add( value, scratchIntervalYearMonth2, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.add( value, scratchIntervalYearMonth2, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); outputIsNull[i] = inputIsNull[i]; dtm.add( value, scratchIntervalYearMonth2, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate);
@Override public void evaluate(VectorizedRowBatch batch) { if (!initialized) { Object lVal = leftDynamicValue.getValue(); Object rVal = rightDynamicValue.getValue(); if (lVal == null || rVal == null) { isLeftOrRightNull = true; } else { long min = DateWritable.dateToDays(PrimitiveObjectInspectorUtils.getDate( lVal, leftDynamicValue.getObjectInspector())); setLeftValue(min); long max = DateWritable.dateToDays(PrimitiveObjectInspectorUtils.getDate( rVal, rightDynamicValue.getObjectInspector())); setRightValue(max); } initialized = true; } // Special case for dynamic values - min/max can be null if (isLeftOrRightNull) { // Entire batch is filtered out batch.size = 0; } super.evaluate(batch); } }
dtm.subtract( scratchDate1, value, outputDate); outputVector[0] = DateWritable.dateToDays(outputDate); dtm.subtract( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.subtract( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.subtract( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); outputIsNull[i] = inputIsNull[i]; dtm.subtract( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate);
dtm.add( scratchDate1, value, outputDate); outputVector[0] = DateWritable.dateToDays(outputDate); dtm.add( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.add( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); dtm.add( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate); outputIsNull[i] = inputIsNull[i]; dtm.add( scratchDate1, value, outputDate); outputVector[i] = DateWritable.dateToDays(outputDate);
return new ConstantVectorExpression(outCol, ((Number) constantValue).longValue()); case DATE: return new ConstantVectorExpression(outCol, DateWritable.dateToDays((Date) constantValue)); case TIMESTAMP: return new ConstantVectorExpression(outCol, (Timestamp) constantValue);
break; case DATE: longValue = DateWritable.dateToDays(PrimitiveObjectInspectorUtils.getDate(val, poi)); case TIMESTAMP: timestampValue = PrimitiveObjectInspectorUtils.getTimestamp(val, poi);
case DATE: Date vDate = ((DateObjectInspector) inspector).getPrimitiveJavaObject(value); recordConsumer.addInteger(DateWritable.dateToDays(vDate)); break; default: