public static DateDatum createDate(int instance) { return new DateDatum(instance); }
@Override public int hashCode() { TimeMeta tm = asTimeMeta(); int total = 157; total = 23 * total + tm.years; total = 23 * total + tm.monthOfYear; total = 23 * total + tm.dayOfMonth; return total; } }
@Override public String toString() { return asChars(); }
@Override public Datum plus(Datum datum) { switch (datum.type()) { case INT2: case INT4: case INT8: { TimeMeta tm = asTimeMeta(); tm.plusDays(datum.asInt4()); return new DateDatum(tm); } case INTERVAL: IntervalDatum interval = (IntervalDatum) datum; TimeMeta tm = asTimeMeta(); tm.plusInterval(interval.months, interval.milliseconds); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm)); case TIME: { TimeMeta tm1 = asTimeMeta(); TimeMeta tm2 = datum.asTimeMeta(); tm1.plusTime(DateTimeUtil.toTime(tm2)); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm1)); } default: throw new InvalidOperationException("operator does not exist: " + type() + " + " + datum.type()); } }
DateDatum dateDatum = (DateDatum) datum; dateValue = new DateValue(""+dateDatum.getYear(), ""+dateDatum.getMonthOfYear(), ""+dateDatum.getDayOfMonth()); value = new DateLiteral(dateValue);
public static void fillRow(int i, RowWriter builder) { builder.startRow(); builder.putBool(i % 1 == 0 ? true : false); // 0 builder.putInt2((short) 1); // 1 builder.putInt4(i); // 2 builder.putInt8(i); // 3 builder.putFloat4(i); // 4 builder.putFloat8(i); // 5 builder.putText((UNICODE_FIELD_PREFIX + i).getBytes()); // 6 builder.putTimestamp(DatumFactory.createTimestamp("2014-04-16 08:48:00").asInt8() + i); // 7 builder.putDate(DatumFactory.createDate("2014-04-16").asInt4() + i); // 8 builder.putTime(DatumFactory.createTime("08:48:00").asInt8() + i); // 9 builder.putInterval(DatumFactory.createInterval((i + 1) + " hours")); // 10 builder.putProtoDatum(new ProtobufDatum(ProtoUtil.convertString(i + ""))); // 11 builder.endRow(); }
@Override public Datum equalsTo(Datum datum) { if (datum.kind() == Type.DATE) { return DatumFactory.createBool(equals(datum)); } else if (datum.isNull()) { return datum; } else { throw new InvalidOperationException(datum.type()); } }
@Override public Datum plus(Datum datum) { switch (datum.kind()) { case INT2: case INT4: case INT8: { TimeMeta tm = asTimeMeta(); tm.plusDays(datum.asInt4()); return new DateDatum(tm); } case INTERVAL: IntervalDatum interval = (IntervalDatum) datum; TimeMeta tm = asTimeMeta(); tm.plusInterval(interval.months, interval.milliseconds); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm)); case TIME: { TimeMeta tm1 = asTimeMeta(); TimeMeta tm2 = datum.asTimeMeta(); tm1.plusTime(DateTimeUtil.toTime(tm2)); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm1)); } default: throw new InvalidOperationException("operator does not exist: " + type() + " + " + datum.type()); } }
public static void validateTupleResult(int j, Tuple t) { assertTrue((j % 1 == 0) == t.getBool(0)); assertTrue(1 == t.getInt2(1)); assertEquals(j, t.getInt4(2)); assertEquals(j, t.getInt8(3)); assertTrue(j == t.getFloat4(4)); assertTrue(j == t.getFloat8(5)); assertEquals(new String(UNICODE_FIELD_PREFIX + j), t.getText(6)); assertEquals(DatumFactory.createTimestamp("2014-04-16 08:48:00").asInt8() + (long) j, t.getInt8(7)); assertEquals(DatumFactory.createDate("2014-04-16").asInt4() + j, t.getInt4(8)); assertEquals(DatumFactory.createTime("08:48:00").asInt8() + j, t.getInt8(9)); assertEquals(DatumFactory.createInterval((j + 1) + " hours"), t.getInterval(10)); assertEquals(new ProtobufDatum(ProtoUtil.convertString(j + "")), t.getProtobufDatum(11)); }
@Override public Datum equalsTo(Datum datum) { if (datum.type() == Type.DATE) { return DatumFactory.createBool(equals(datum)); } else if (datum.isNull()) { return datum; } else { throw new InvalidOperationException(datum.type()); } }
public static DateDatum createDate(int instance) { return new DateDatum(instance); }
@Override public Datum minus(Datum datum) { switch(datum.kind()) { case INT2: case INT4: case INT8: { TimeMeta tm = asTimeMeta(); tm.plusDays(0 - datum.asInt4()); return new DateDatum(tm); } case INTERVAL: { IntervalDatum interval = (IntervalDatum) datum; TimeMeta tm = asTimeMeta(); tm.plusInterval(-interval.months, -interval.milliseconds); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm)); } case TIME: { TimeMeta tm1 = asTimeMeta(); TimeMeta tm2 = datum.asTimeMeta(); tm1.plusTime(0 - DateTimeUtil.toTime(tm2)); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm1)); } case DATE: { DateDatum d = (DateDatum) datum; return new Int4Datum(jdate - d.jdate); } default: throw new InvalidOperationException("operator does not exist: " + type() + " - " + datum.type()); } }
@Override public boolean equals(Object obj) { TimeMeta tm = asTimeMeta(); if (obj instanceof DateDatum) { TimeMeta another = ((DateDatum) obj).asTimeMeta(); return tm.years == another.years && tm.monthOfYear == another.monthOfYear && tm.dayOfMonth == another.dayOfMonth; } else { return false; } }
@Override public String toString() { return asChars(); }
writer.skipField(); } else { writer.putDate(DatumFactory.createDate("2014-04-16").asInt4() + i); // 8
public static DateDatum createDate(String dateStr) { return new DateDatum(DateTimeUtil.toJulianDate(dateStr)); }
@Override public Datum minus(Datum datum) { switch(datum.type()) { case INT2: case INT4: case INT8: { TimeMeta tm = asTimeMeta(); tm.plusDays(0 - datum.asInt4()); return new DateDatum(tm); } case INTERVAL: { IntervalDatum interval = (IntervalDatum) datum; TimeMeta tm = asTimeMeta(); tm.plusInterval(-interval.months, -interval.milliseconds); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm)); } case TIME: { TimeMeta tm1 = asTimeMeta(); TimeMeta tm2 = datum.asTimeMeta(); tm1.plusTime(0 - DateTimeUtil.toTime(tm2)); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm1)); } case DATE: { DateDatum d = (DateDatum) datum; return new Int4Datum(jdate - d.jdate); } default: throw new InvalidOperationException("operator does not exist: " + type() + " - " + datum.type()); } }
@Override public boolean equals(Object obj) { TimeMeta tm = asTimeMeta(); if (obj instanceof DateDatum) { TimeMeta another = ((DateDatum) obj).asTimeMeta(); return tm.years == another.years && tm.monthOfYear == another.monthOfYear && tm.dayOfMonth == another.dayOfMonth; } else { return false; } }
@Override public byte[] asTextBytes() { return asChars().getBytes(TextDatum.DEFAULT_CHARSET); }
tuple.isBlankOrNull(8); } else { assertEquals(DatumFactory.createDate("2014-04-16").asInt4() + j, tuple.getInt4(8));