/** * Applies local time zone offset to timestamp value read using specified {@code reader}. * * @param writer writer to store timestamp value * @param fieldName name of the field * @param reader document reader */ private void writeTimestampWithLocalZoneOffset(MapOrListWriterImpl writer, String fieldName, DocumentReader reader) { long timestamp = reader.getTimestampLong() + DateUtility.TIMEZONE_OFFSET_MILLIS; writer.timeStamp(fieldName).writeTimeStamp(timestamp); }
public void copyAsValue(TimeStampWriter writer){ writer.write(holder); } }
public void writeTimeStamp(long value) { data.getMutator().setType(idx(), MinorType.TIMESTAMP); getTimeStampWriter().setPosition(idx()); getTimeStampWriter().writeTimeStamp(value); }
private TimeStampWriter getTimeStampWriter() { if (timeStampWriter == null) { timeStampWriter = new NullableTimeStampWriterImpl(data.getTimeStampVector(), null); timeStampWriter.setPosition(idx()); writers.add(timeStampWriter); } return timeStampWriter; }
@Override public void write(TimeStampHolder holder) { data.getMutator().setType(idx(), MinorType.TIMESTAMP); getTimeStampWriter().setPosition(idx()); getTimeStampWriter().writeTimeStamp(holder.value); }
protected void writeTimeStamp(MapOrListWriterImpl writer, String fieldName, DocumentReader reader) { writer.timeStamp(fieldName).writeTimeStamp(reader.getTimestampLong()); }
public void copyAsValue(TimeStampWriter writer){ writer.write(holder); } }
private void writeTimeStamp(int timestamp, final MapOrListWriterImpl writer, String fieldName, boolean isList) { DateTime dateTime = new DateTime(timestamp*1000L); TimeStampWriter t; if (isList == false) { t = writer.map.timeStamp(fieldName); } else { t = writer.list.timeStamp(); } t.writeTimeStamp((int) (dateTime.withZoneRetainFields(org.joda.time.DateTimeZone.UTC).getMillis())); }
@Override public void addLong(long value) { holder.value = value; writer.write(holder); } }
private void writeDateTime(long readDateTime, final MapOrListWriterImpl writer, String fieldName, boolean isList) { DateTime date = new DateTime(readDateTime); TimeStampWriter dt; if (isList == false) { dt = writer.map.timeStamp(fieldName); } else { dt = writer.list.timeStamp(); } dt.writeTimeStamp(date.withZoneRetainFields(org.joda.time.DateTimeZone.UTC).getMillis()); }
@Override public void addBinary(Binary value) { holder.value = getDateTimeValueFromBinary(value, true); writer.write(holder); } }
protected void writeTimeStamp(MapOrListWriterImpl writer, String fieldName, DocumentReader reader) { writer.timeStamp(fieldName).writeTimeStamp(reader.getTimestampLong()); }
@Override public void writeTimestamp(boolean isNull) throws IOException { TimeStampWriter ts = writer.timeStamp(); if(!isNull){ switch (parser.getCurrentToken()) { case VALUE_NUMBER_INT: DateTime dt = new DateTime(parser.getLongValue(), org.joda.time.DateTimeZone.UTC); ts.writeTimeStamp(dt.getMillis()); break; case VALUE_STRING: OffsetDateTime originalDateTime = OffsetDateTime.parse(parser.getValueAsString(), DateUtility.isoFormatTimeStamp); OffsetDateTime utcDateTime = OffsetDateTime.of(originalDateTime.toLocalDateTime(), ZoneOffset.UTC); // strips the time zone from the original ts.writeTimeStamp(utcDateTime.toInstant().toEpochMilli()); break; default: throw UserException.unsupportedError() .message(parser.getCurrentToken().toString()) .build(LOG); } } }
@SuppressWarnings("resource") @Override public void writeTimestamp(boolean isNull) throws IOException { TimeStampWriter ts = writer.timeStamp(fieldName); if(!isNull){ switch (parser.getCurrentToken()) { case VALUE_NUMBER_INT: DateTime dt = new DateTime(parser.getLongValue(), org.joda.time.DateTimeZone.UTC); ts.writeTimeStamp(dt.getMillis()); break; case VALUE_STRING: OffsetDateTime originalDateTime = OffsetDateTime.parse(parser.getValueAsString(), DateUtility.isoFormatTimeStamp); OffsetDateTime utcDateTime = OffsetDateTime.of(originalDateTime.toLocalDateTime(), ZoneOffset.UTC); // strips the time zone from the original ts.writeTimeStamp(utcDateTime.toInstant().toEpochMilli()); break; default: throw UserException.unsupportedError() .message(parser.getCurrentToken().toString()) .build(LOG); } } }
break; case "timestamp-millis": writer.timeStamp(fieldName).writeTimeStamp((Long) value); break; case "timestamp-micros": writer.timeStamp(fieldName).writeTimeStamp((long) value / 1000); break; default:
writeString(writer.varChar(tagName), ((StringValue) value).toString()); } else if (value instanceof Date) { writer.timeStamp(tagName).writeTimeStamp(((Date) value).getTime()); } else if (value instanceof boolean[]) { for (boolean v : (boolean[]) value) {