@Override public void writeHiveIntervalDayTime(HiveIntervalDayTime vidt) throws IOException { beginElement(); if (hiveIntervalDayTimeWritable == null) { hiveIntervalDayTimeWritable = new HiveIntervalDayTimeWritable(); } hiveIntervalDayTimeWritable.set(vidt); hiveIntervalDayTimeWritable.writeToByteStream(output); finishElement(); }
@Override public HiveIntervalDayTime getPrimitiveJavaObject(Object o) { return o == null ? null : ((HiveIntervalDayTimeWritable) o).getHiveIntervalDayTime(); }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof HiveIntervalDayTimeWritable)) { return false; } return 0 == compareTo((HiveIntervalDayTimeWritable) obj); }
@Override public void writeHiveIntervalDayTime(HiveIntervalDayTime vidt) throws IOException { beginPrimitive(); if (hiveIntervalDayTimeWritable == null) { hiveIntervalDayTimeWritable = new HiveIntervalDayTimeWritable(); } hiveIntervalDayTimeWritable.set(vidt); LazyHiveIntervalDayTime.writeUTF8(output, hiveIntervalDayTimeWritable); finishPrimitive(); }
@Override public Object create(HiveIntervalDayTime i) { return i == null ? null : new HiveIntervalDayTimeWritable(i); } }
protected HiveIntervalDayTimeWritable handleIntervalDayTimeResult( HiveIntervalDayTime result) { if (result == null) { return null; } intervalDayTimeResult.set(result); return intervalDayTimeResult; } }
@Test public void testIntervalDayTimeMinusIntervalDayTime() throws Exception { GenericUDFOPMinus udf = new GenericUDFOPMinus(); HiveIntervalDayTimeWritable left = new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("2 2:3:4.567")); HiveIntervalDayTimeWritable right = new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4")); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableHiveIntervalDayTimeObjectInspector, PrimitiveObjectInspectorFactory.writableHiveIntervalDayTimeObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(left), new DeferredJavaObject(right), }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); Assert.assertEquals(TypeInfoFactory.intervalDayTimeTypeInfo, oi.getTypeInfo()); HiveIntervalDayTimeWritable res = (HiveIntervalDayTimeWritable) udf.evaluate(args); Assert.assertEquals(HiveIntervalDayTime.valueOf("1 0:0:0.567"), res.getHiveIntervalDayTime()); }
public static void writeUTF8(OutputStream out, HiveIntervalDayTimeWritable i) throws IOException { ByteBuffer b = Text.encode(i.toString()); out.write(b.array(), 0, b.limit()); }
@Override void serialize(RandomAccessOutput byteStream, Object obj, ObjectInspector objInspector, boolean skipLengthPrefix, BooleanRef warnedOnceNullMapKey) { HiveIntervalDayTimeWritable intervalDayTime = ((HiveIntervalDayTimeObjectInspector) objInspector).getPrimitiveWritableObject(obj); intervalDayTime.writeToByteStream(byteStream); } }
case INTERVAL_DAY_TIME: byteBuffer.putInt(((HiveIntervalDayTimeObjectInspector) poi) .getPrimitiveWritableObject(o).hashCode()); return Murmur3.hash32(byteBuffer.array(), 4); case DECIMAL:
@Override public void init(ByteArrayRef bytes, int start, int length) { data.setFromBytes(bytes.getData(), start, length, vInt, vLong); } }
.equals(((HiveIntervalDayTimeObjectInspector) oi2).getPrimitiveWritableObject(o2));
@Override public HiveIntervalDayTimeWritable getPrimitiveWritableObject(Object o) { return o == null ? null : new HiveIntervalDayTimeWritable((HiveIntervalDayTime) o); }
@Override public Object set(Object o, HiveIntervalDayTime i) { if (i == null) { return null; } ((HiveIntervalDayTimeWritable) o).set(i); return o; }
@Test public void testIntervalDayTimePlusIntervalDayTime() throws Exception { GenericUDFOPPlus udf = new GenericUDFOPPlus(); HiveIntervalDayTimeWritable left = new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 0:0:0.567")); HiveIntervalDayTimeWritable right = new HiveIntervalDayTimeWritable(HiveIntervalDayTime.valueOf("1 2:3:4")); ObjectInspector[] inputOIs = { PrimitiveObjectInspectorFactory.writableHiveIntervalDayTimeObjectInspector, PrimitiveObjectInspectorFactory.writableHiveIntervalDayTimeObjectInspector }; DeferredObject[] args = { new DeferredJavaObject(left), new DeferredJavaObject(right), }; PrimitiveObjectInspector oi = (PrimitiveObjectInspector) udf.initialize(inputOIs); Assert.assertEquals(TypeInfoFactory.intervalDayTimeTypeInfo, oi.getTypeInfo()); HiveIntervalDayTimeWritable res = (HiveIntervalDayTimeWritable) udf.evaluate(args); Assert.assertEquals(HiveIntervalDayTime.valueOf("2 2:3:4.567"), res.getHiveIntervalDayTime()); }
case INTERVAL_DAY_TIME: t.set(((HiveIntervalDayTimeObjectInspector) inputOI) .getPrimitiveWritableObject(input).toString()); return t; case BINARY:
HiveIntervalDayTimeWritable intervalDayTime = ((HiveIntervalDayTimeObjectInspector) poi).getPrimitiveWritableObject(obj); intervalDayTime.writeToByteStream(byteStream); return;
HiveIntervalDayTimeWritable intervalDayTime = ((HiveIntervalDayTimeObjectInspector) poi) .getPrimitiveWritableObject(o); return intervalDayTime.hashCode(); case DECIMAL:
@Override public void init(ByteArrayRef bytes, int start, int length) { data.setFromBytes(bytes.getData(), start, length, vInt, vLong); } }
.equals(((HiveIntervalDayTimeObjectInspector) oi2).getPrimitiveWritableObject(o2));