@Override public TimeMeta getTimeDate(int fieldId) { return values[fieldId].asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return values[fieldId].asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return values.get(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return values.get(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return asDatum(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return asDatum(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return get(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return asDatum(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return get(fieldId).asTimeMeta(); }
@Override public TimeMeta getTimeDate(int fieldId) { return asDatum(fieldId).asTimeMeta(); }
private Date getDate(Tuple tuple, TimeZone tz, int index) throws SQLException { return handleNull(tuple, index) ? null : toDate(tuple.asDatum(index).asTimeMeta(), tz); }
private Timestamp getTimestamp(Tuple tuple, TimeZone tz, int index) throws SQLException { return handleNull(tuple, index) ? null : toTimestamp(tuple.asDatum(index).asTimeMeta(), tz); }
private Time getTime(Tuple tuple, TimeZone tz, int index) throws SQLException { return handleNull(tuple, index) ? null : toTime(tuple.asDatum(index).asTimeMeta(), tz); }
private Date getDate(Tuple tuple, int index) throws SQLException { if (handleNull(tuple, index)) return null; switch (tuple.type(index)) { case DATE: return toDate(tuple.asDatum(index).asTimeMeta(), null); case TIMESTAMP: return toDate(tuple.asDatum(index).asTimeMeta(), timezone); case TEXT: return toDate(DatumFactory.createDate(tuple.asDatum(index)).asTimeMeta(), null); default: throw new TajoSQLException(Errors.ResultCode.INVALID_VALUE_FOR_CAST, tuple.type(index).name(), "date"); } }
private Time getTime(Tuple tuple, int index) throws SQLException { if (handleNull(tuple, index)) return null; switch (tuple.type(index)) { case DATE: case TIME: return toTime(tuple.asDatum(index).asTimeMeta(), null); case TIMESTAMP: return toTime(tuple.asDatum(index).asTimeMeta(), timezone); case TEXT: return toTime(DatumFactory.createTime(tuple.asDatum(index)).asTimeMeta(), null); default: throw new TajoSQLException(Errors.ResultCode.INVALID_VALUE_FOR_CAST, tuple.type(index).name(), "time"); } }
private Timestamp getTimestamp(Tuple tuple, int index) throws SQLException { if (handleNull(tuple, index)) return null; TimeMeta tm; switch (tuple.type(index)) { case DATE: case TIME: tm = tuple.asDatum(index).asTimeMeta(); DateTimeUtil.toUTCTimezone(tm, timezone); return toTimestamp(tm, timezone); case TIMESTAMP: return toTimestamp(tuple.asDatum(index).asTimeMeta(), timezone); case TEXT: tm = DatumFactory.createTimestamp(tuple.asDatum(index), timezone).asTimeMeta(); return toTimestamp(tm, timezone); default: throw new TajoSQLException(Errors.ResultCode.INVALID_VALUE_FOR_CAST, tuple.type(index).name(), "timestamp"); } }
@Override public Datum plus(Datum datum) { switch (datum.kind()) { 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()); } }
@Override public Datum plus(Datum datum) { switch (datum.type()) { 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()); } }
@Override public Datum minus(Datum datum) { switch (datum.kind()) { case INTERVAL: IntervalDatum interval = (IntervalDatum) datum; TimeMeta tm = asTimeMeta(); tm.plusInterval(-interval.months, -interval.milliseconds); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm)); case TIMESTAMP: return new IntervalDatum((timestamp - ((TimestampDatum) datum).timestamp) / 1000); case TIME: TimeMeta tm1 = asTimeMeta(); TimeMeta tm2 = datum.asTimeMeta(); tm1.plusTime(0 - DateTimeUtil.toTime(tm2)); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm1)); default: throw new InvalidOperationException("operator does not exist: " + type() + " - " + datum.type()); } }
@Override public Datum minus(Datum datum) { switch (datum.type()) { case INTERVAL: IntervalDatum interval = (IntervalDatum) datum; TimeMeta tm = asTimeMeta(); tm.plusInterval(-interval.months, -interval.milliseconds); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm)); case TIMESTAMP: return new IntervalDatum((timestamp - ((TimestampDatum) datum).timestamp) / 1000); case TIME: TimeMeta tm1 = asTimeMeta(); TimeMeta tm2 = datum.asTimeMeta(); tm1.plusTime(0 - DateTimeUtil.toTime(tm2)); return new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm1)); default: throw new InvalidOperationException("operator does not exist: " + type() + " - " + datum.type()); } }