@Override public MinorType visit(Timestamp type) { String tz = type.getTimezone(); switch (type.getUnit()) { case SECOND: return tz == null ? MinorType.TIMESTAMPSEC : MinorType.TIMESTAMPSECTZ; case MILLISECOND: return tz == null ? MinorType.TIMESTAMPMILLI : MinorType.TIMESTAMPMILLITZ; case MICROSECOND: return tz == null ? MinorType.TIMESTAMPMICRO : MinorType.TIMESTAMPMICROTZ; case NANOSECOND: return tz == null ? MinorType.TIMESTAMPNANO : MinorType.TIMESTAMPNANOTZ; default: throw new IllegalArgumentException("unknown unit: " + type); } }
@Override public String visit(Timestamp type) { String name = "timestamp"; String timezone = type.getTimezone(); TimeUnit unit = type.getUnit(); if (timezone == null && unit == TimeUnit.MILLISECOND) { return name; } return String.format("%s(%s,%s)", name, timezone == null ? "?" : timezone, unit.name()); }
timeStampSecTZ(child.getName(), arrowType.getTimezone()); break; timeStampMilliTZ(child.getName(), arrowType.getTimezone()); break; timeStampMicroTZ(child.getName(), arrowType.getTimezone()); break; timeStampNanoTZ(child.getName(), arrowType.getTimezone()); break;
timeStampSecTZ(child.getName(), arrowType.getTimezone()); break; timeStampMilliTZ(child.getName(), arrowType.getTimezone()); break; timeStampMicroTZ(child.getName(), arrowType.getTimezone()); break; timeStampNanoTZ(child.getName(), arrowType.getTimezone()); break;
/** * Instantiate a TimeStampMicroTZVector. This doesn't allocate any memory for * the data in vector. * * @param name name of the vector * @param fieldType type of Field materialized by this vector * @param allocator allocator for memory management. */ public TimeStampMicroTZVector(String name, FieldType fieldType, BufferAllocator allocator) { super(name, fieldType, allocator); ArrowType.Timestamp arrowType = (ArrowType.Timestamp) fieldType.getType(); timeZone = arrowType.getTimezone(); reader = new TimeStampMicroTZReaderImpl(TimeStampMicroTZVector.this); }
/** * Instantiate a TimeStampMilliTZVector. This doesn't allocate any memory for * the data in vector. * * @param name name of the vector * @param fieldType type of Field materialized by this vector * @param allocator allocator for memory management. */ public TimeStampMilliTZVector(String name, FieldType fieldType, BufferAllocator allocator) { super(name, fieldType, allocator); ArrowType.Timestamp arrowType = (ArrowType.Timestamp) fieldType.getType(); timeZone = arrowType.getTimezone(); reader = new TimeStampMilliTZReaderImpl(TimeStampMilliTZVector.this); }
/** * Instantiate a TimeStampSecTZVector. This doesn't allocate any memory for * the data in vector. * * @param name name of the vector * @param fieldType type of Field materialized by this vector * @param allocator allocator for memory management. */ public TimeStampSecTZVector(String name, FieldType fieldType, BufferAllocator allocator) { super(name, fieldType, allocator); ArrowType.Timestamp arrowType = (ArrowType.Timestamp) fieldType.getType(); timeZone = arrowType.getTimezone(); reader = new TimeStampSecTZReaderImpl(TimeStampSecTZVector.this); }
/** * Instantiate a TimeStampNanoTZVector. This doesn't allocate any memory for * the data in vector. * * @param name name of the vector * @param fieldType type of Field materialized by this vector * @param allocator allocator for memory management. */ public TimeStampNanoTZVector(String name, FieldType fieldType, BufferAllocator allocator) { super(name, fieldType, allocator); ArrowType.Timestamp arrowType = (ArrowType.Timestamp) fieldType.getType(); timeZone = arrowType.getTimezone(); reader = new TimeStampNanoTZReaderImpl(TimeStampNanoTZVector.this); }