@Override public NumericDatum inverseSign() { return new Int8Datum(-val); } }
public static TimeMeta getUTCDateTime(Int8Datum int8Datum){ return getUTCDateTime(int8Datum.asInt8()); }
@Override public char asChar() { return asChars().charAt(0); }
@Override public Datum multiply(Datum datum) { switch (datum.type()) { case INT2: return DatumFactory.createInt8(val * datum.asInt2()); case INT4: return DatumFactory.createInt8(val * datum.asInt4()); case INT8: return DatumFactory.createInt8(val * datum.asInt8()); case FLOAT4: return DatumFactory.createFloat8(val * datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val * datum.asFloat8()); case INTERVAL: IntervalDatum interval = (IntervalDatum)datum; int intVal = asInt4(); return new IntervalDatum(interval.getMonths() * intVal, interval.getMilliSeconds() * asInt8()); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
@Override public Datum plus(Datum datum) { switch (datum.kind()) { case INT2: return DatumFactory.createInt8(val + datum.asInt2()); case INT4: return DatumFactory.createInt8(val + datum.asInt4()); case INT8: return DatumFactory.createInt8(val + datum.asInt8()); case FLOAT4: return DatumFactory.createFloat8(val + datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val + datum.asFloat8()); case DATE: TimeMeta tm = datum.asTimeMeta(); tm.plusDays(asInt4()); return new DateDatum(tm); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
case INT2: short paramValueI2 = datum.asInt2(); if (!validateDivideZero(paramValueI2)) { return NullDatum.get(); case INT4: int paramValueI4 = datum.asInt4(); if (!validateDivideZero(paramValueI4)) { return NullDatum.get(); case INT8: long paramValueI8 = datum.asInt8(); if (!validateDivideZero(paramValueI8)) { return NullDatum.get(); case FLOAT4: float paramValueF4 = datum.asFloat4(); if (!validateDivideZero(paramValueF4)) { return NullDatum.get(); case FLOAT8: double paramValueF8 = datum.asFloat8(); if (!validateDivideZero(paramValueF8)) { return NullDatum.get();
@Override public Datum multiply(Datum datum) { switch (datum.kind()) { case INT2: return DatumFactory.createInt8(val * datum.asInt2()); case INT4: return DatumFactory.createInt8(val * datum.asInt4()); case INT8: return DatumFactory.createInt8(val * datum.asInt8()); case FLOAT4: return DatumFactory.createFloat8(val * datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val * datum.asFloat8()); case INTERVAL: IntervalDatum interval = (IntervalDatum)datum; int intVal = asInt4(); return new IntervalDatum(interval.getMonths() * intVal, interval.getMilliSeconds() * asInt8()); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
@Override public Datum plus(Datum datum) { switch (datum.type()) { case INT2: return DatumFactory.createInt8(val + datum.asInt2()); case INT4: return DatumFactory.createInt8(val + datum.asInt4()); case INT8: return DatumFactory.createInt8(val + datum.asInt8()); case FLOAT4: return DatumFactory.createFloat8(val + datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val + datum.asFloat8()); case DATE: TimeMeta tm = datum.asTimeMeta(); tm.plusDays(asInt4()); return new DateDatum(tm); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
case INT2: short paramValueI2 = datum.asInt2(); if (!validateDivideZero(paramValueI2)) { return NullDatum.get(); case INT4: int paramValueI4 = datum.asInt4(); if (!validateDivideZero(paramValueI4)) { return NullDatum.get(); case INT8: long paramValueI8 = datum.asInt8(); if (!validateDivideZero(paramValueI8)) { return NullDatum.get(); case FLOAT4: float paramValueF4 = datum.asFloat4(); if (!validateDivideZero(paramValueF4)) { return NullDatum.get(); case FLOAT8: double paramValueF8 = datum.asFloat8(); if (!validateDivideZero(paramValueF8)) { return NullDatum.get();
@Override public NumericDatum inverseSign() { return new Int8Datum(-val); } }
public static TimeMeta getUTCDateTime(Int8Datum int8Datum){ return getUTCDateTime(int8Datum.asInt8()); }
@Override public Datum minus(Datum datum) { switch (datum.type()) { case INT2: return DatumFactory.createInt8(val - datum.asInt2()); case INT4: return DatumFactory.createInt8(val - datum.asInt4()); case INT8: return DatumFactory.createInt8(val - datum.asInt8()); case FLOAT4: return DatumFactory.createFloat8(val - datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val - datum.asFloat8()); case DATE: TimeMeta tm = datum.asTimeMeta(); tm.plusDays(0 - asInt4()); return new DateDatum(tm); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
case INT2: short paramValueI2 = datum.asInt2(); if (!validateDivideZero(paramValueI2)) { return NullDatum.get(); case INT4: int paramValueI4 = datum.asInt4(); if (!validateDivideZero(paramValueI4)) { return NullDatum.get(); case INT8: long paramValueI8 = datum.asInt8(); if (!validateDivideZero(paramValueI8)) { return NullDatum.get(); case FLOAT4: float paramValueF4 = datum.asFloat4(); if (!validateDivideZero(paramValueF4)) { return NullDatum.get(); case FLOAT8: double paramValueF8 = datum.asFloat8(); if (!validateDivideZero(paramValueF8)) { return NullDatum.get();
@Override public char asChar() { return asChars().charAt(0); }
public static Int8Datum createInt8(long val) { return new Int8Datum(val); }
@Test public void testDate() { Date date = new Date(); Tuple tuple = new VTuple(new Datum[] {new TextDatum("25/12/2012 00:00:00")}); Int8Datum unixtime = (Int8Datum) date.eval(tuple); Calendar c = Calendar.getInstance(); c.setTimeInMillis(unixtime.asInt8()); assertEquals(2012, c.get(Calendar.YEAR)); assertEquals(11, c.get(Calendar.MONTH)); assertEquals(25, c.get(Calendar.DAY_OF_MONTH)); assertEquals(0, c.get(Calendar.HOUR_OF_DAY)); assertEquals(0, c.get(Calendar.MINUTE)); assertEquals(0, c.get(Calendar.SECOND)); } }
@Override public Datum minus(Datum datum) { switch (datum.kind()) { case INT2: return DatumFactory.createInt8(val - datum.asInt2()); case INT4: return DatumFactory.createInt8(val - datum.asInt4()); case INT8: return DatumFactory.createInt8(val - datum.asInt8()); case FLOAT4: return DatumFactory.createFloat8(val - datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val - datum.asFloat8()); case DATE: TimeMeta tm = datum.asTimeMeta(); tm.plusDays(0 - asInt4()); return new DateDatum(tm); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
case INT2: short paramValueI2 = datum.asInt2(); if (!validateDivideZero(paramValueI2)) { return NullDatum.get(); case INT4: int paramValueI4 = datum.asInt4(); if (!validateDivideZero(paramValueI4)) { return NullDatum.get(); case INT8: long paramValueI8 = datum.asInt8(); if (!validateDivideZero(paramValueI8)) { return NullDatum.get(); case FLOAT4: float paramValueF4 = datum.asFloat4(); if (!validateDivideZero(paramValueF4)) { return NullDatum.get(); case FLOAT8: double paramValueF8 = datum.asFloat8(); if (!validateDivideZero(paramValueF8)) { return NullDatum.get();
public static Int8Datum createInt8(long val) { return new Int8Datum(val); }
public static Int8Datum createInt8(String val) { return new Int8Datum(Long.parseLong(val)); }