@Override public NumericDatum inverseSign() { return new Int4Datum(-val); } }
@Override public char asChar() { return asChars().charAt(0); }
@Override public Datum plus(Datum datum) { switch (datum.type()) { case INT2: return DatumFactory.createInt4(val + datum.asInt2()); case INT4: return DatumFactory.createInt4(val + datum.asInt4()); case INT8: return DatumFactory.createInt8(val + datum.asInt8()); case FLOAT4: return DatumFactory.createFloat4(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 plus(Datum datum) { switch (datum.kind()) { case INT2: return DatumFactory.createInt4(val + datum.asInt2()); case INT4: return DatumFactory.createInt4(val + datum.asInt4()); case INT8: return DatumFactory.createInt8(val + datum.asInt8()); case FLOAT4: return DatumFactory.createFloat4(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 Int4Datum(-val); } }
@Override public Datum minus(Datum datum) { switch (datum.type()) { case INT2: return DatumFactory.createInt4(val - datum.asInt2()); case INT4: return DatumFactory.createInt4(val - datum.asInt4()); case INT8: return DatumFactory.createInt8(val - datum.asInt8()); case FLOAT4: return DatumFactory.createFloat4(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 Int4Datum createInt4(int val) { return new Int4Datum(val); }
@Override public Datum minus(Datum datum) { switch (datum.kind()) { case INT2: return DatumFactory.createInt4(val - datum.asInt2()); case INT4: return DatumFactory.createInt4(val - datum.asInt4()); case INT8: return DatumFactory.createInt8(val - datum.asInt8()); case FLOAT4: return DatumFactory.createFloat4(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 Int4Datum createInt4(int val) { return new Int4Datum(val); }
public static Int4Datum createInt4(String val) { return new Int4Datum(Integer.parseInt(val)); }
public static Int4Datum createInt4(String val) { return new Int4Datum(Integer.parseInt(val)); }
@Override public Datum eval(Tuple params) { if (params.isBlankOrNull(0)) { return NullDatum.get(); } String ipstr = params.getText(0); return new Int4Datum(IPconvertUtil.ipstr2int(ipstr)); } }
public Tuple createTuple(String[] columnDatas) { return new VTuple(new Datum[]{ columnDatas[0].equals("") ? NullDatum.get() : new Int4Datum(Integer.parseInt(columnDatas[0])), columnDatas[1].equals("") ? NullDatum.get() : new TextDatum(columnDatas[1]), columnDatas[2].equals("") ? NullDatum.get() : new Int4Datum(Integer.parseInt(columnDatas[2])), columnDatas[3].equals("") ? NullDatum.get() : new TextDatum(columnDatas[3]) }); } });
public static Datum convertWritable2Datum(Writable value) throws UnsupportedDataTypeException { if (value == null) { return NullDatum.get(); } DataType type = convertWritableToTajoType(value.getClass()); switch(type.getType()) { case INT1: return new Int2Datum(((ByteWritable)value).get()); case INT2: return new Int2Datum(((ShortWritable)value).get()); case INT4: return new Int4Datum(((IntWritable)value).get()); case INT8: return new Int8Datum(((LongWritable)value).get()); case FLOAT4: return new Float4Datum(((FloatWritable)value).get()); case FLOAT8: return new Float8Datum(((DoubleWritable)value).get()); case DATE: return new DateDatum(((DateWritable)value).getDays() + DateTimeConstants.UNIX_EPOCH_JDATE); case TIMESTAMP: return new TimestampDatum(DateTimeUtil.javaTimeToJulianTime( ((TimestampWritable)value).getTimestamp().getTime())); case CHAR: return new CharDatum(value.toString()); case TEXT: return new TextDatum(value.toString()); case VARBINARY: return new BlobDatum(((BytesWritable)value).getBytes()); } throw new TajoRuntimeException(new UnsupportedDataTypeException(value.getClass().getTypeName())); } }
public static Datum createFromInt4(DataType type, int val) { switch (type.getType()) { case INT4: return new Int4Datum(val); case DATE: return new DateDatum(val); default: throw new TajoRuntimeException(new UnsupportedDataTypeException(type.getType().name())); } }