Add support for configuring timestamp serialization format #585
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This re-adds support for controlling how timestamps are serialized in JSON via the
json.timestamp_format
option on tables. The heavy-lifting is done by this change in our arrow-json fork: ArroyoSystems/arrow-rs#3.I've also exposed the ability to set explicit_nulls in the serializer and have enabled that, getting us back to the behavior in 0.9.
For JSON deserialization, the format of the data and the timestamp precision controls how timestamp fields are handled—e.g., a number in a TIMESTAMP(3) field will be interpreted as unix millis, while a string in any timestamp precision will be interpreted as a RFC3339 value.
I've also validated that alternate precisions are correctly supported when used as event_time fields.