-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port DH-11692: Add native support for java.time types #3385
Conversation
engine/api/src/main/java/io/deephaven/engine/table/ElementSource.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/AbstractColumnSource.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeArraySource.java
Outdated
Show resolved
Hide resolved
...ne/table/src/main/java/io/deephaven/engine/table/impl/sources/DateTimeSparseArraySource.java
Outdated
Show resolved
Hide resolved
...ne/table/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeArraySource.java
Outdated
Show resolved
Hide resolved
...le/src/main/java/io/deephaven/engine/table/impl/sources/NanosBasedTimeSparseArraySource.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableTimeConversions.java
Outdated
Show resolved
Hide resolved
engine/table/src/test/java/io/deephaven/engine/table/impl/select/TestReinterpretedColumn.java
Outdated
Show resolved
Hide resolved
3de7432
to
b0a0f12
Compare
.../table/src/main/java/io/deephaven/engine/table/impl/by/LongChunkedAddOnlyMinMaxOperator.java
Show resolved
Hide resolved
Util/src/main/java/io/deephaven/util/codec/ZonedDateTimeCodec.java
Outdated
Show resolved
Hide resolved
Util/src/main/java/io/deephaven/util/codec/ZonedDateTimeCodec.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/MutableColumnSourceGetDefaults.java
Outdated
Show resolved
Hide resolved
...in/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceReferencing.java
Show resolved
Hide resolved
...c/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceInstant.java
Show resolved
Hide resolved
515286e
to
a3efc5d
Compare
engine/table/src/main/java/io/deephaven/engine/table/impl/by/AggregationProcessor.java
Outdated
Show resolved
Hide resolved
...le/src/test/java/io/deephaven/engine/table/impl/sources/AbstractBooleanColumnSourceTest.java
Outdated
Show resolved
Hide resolved
I can't seem to reply to your final comment. I added ZonedDateTime/Instant to the list. I removed Date. For now LocalDate and LocalTime are stubbed with FixedSizeBinary formats, but these are not implemented between server/client neither for worker-to-worker nor for the jsapi. At this moment, barrage strips the ZoneId from ZonedDateTime columns and sends as UTC. The ser/deser code acts on Class<?> and it would be much nicer to use ColumnDataType instead of passing extra args. |
deephaven/deephaven-core#3385 is a port of DH-11692 which adds `Instant` and `ZonedDateTime` support to the engine. I've similarly encoded these types over Barrage as a `long` (as a nanosecond since epoch). The encoding of Zones will actually need to be implemented at a future date as the best implementation requires (encourages?) a much larger refactoring of ColumnSource types. See deephaven/deephaven-core#3455 for more information. I was able to get the web-client-ui to display these types with this small patch.
engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ReinterpretUtils.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ReinterpretUtils.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/sources/InMemoryColumnSource.java
Outdated
Show resolved
Hide resolved
...e/table/src/main/java/io/deephaven/engine/table/impl/select/analyzers/SelectColumnLayer.java
Outdated
Show resolved
Hide resolved
…tMemoryColumnSource
…tSparseMemoryColumnSource
Labels indicate documentation is required. Issues for documentation have been opened: How-to: https://github.com/deephaven/deephaven.io/issues/2256 |
I did a bit more replication than was in the DHE implementation; but hopefully for the better.
DH-11692 via commits:
Follow up work:
Instant
/LocalDate
/LocalTime
/ZonedDateTime
support for Parquet, KafkaTools and JsonNodeUtil #3367ArraySource#move
support moving of full blocks #3359ColumnDataType
to use as return type toColumnSource#getType
#3455Nightlies: https://github.com/nbauernfeind/deephaven-core/actions/runs/4296250838