Closed
Description
We currently have two time types:
- Sequence
- Temporal
The problem is that the temporal type is used both for absolute times (2024-01-10 09:44:01Z) and relative times (+32m 12s
).
Because of this problem, relative times will show up as 1970-01-01 00:32:12Z
in arrow formatting.
Relative times are useful for "time since robot started" or whatever.
I suggest we split Temporal
into absolute and relative. The arrow datatype would then become:
Sequence
- >DataType::Int64
Duration
- >DataType::Duration64(TimeUnit::Nanosecond)
Timestamp
- >DataType::Timestamp(TimeUnit::Nanosecond, None)
Should do this first
Related
- Should
Temporal
vs.Sequence
really be a property of the timeline itself? #8471 - Unify
RowId
and time columns #9082
Future work
- Adding even more types of indices, e.g. UUID
TODO
- Introduce new SDK APIs (see below)
- Python
- New C++ API for timestamp/duration indices #9200
- Rust
- Split
TimeType::Time
; changing dataloader API #9292 - Remove
struct Time
- Fix all
TODO(#8635)
:s - Unify naming
- Use the same names (
sequence, duration, timestamp
) in all language APIs - Use consistent time unit names for our API #9343
- Use consistent time unit names for our API #9343
- Revert
index
related names- Rename
IndexCell
->TimeCell
- Rename
set_index
->set_time
- Rename
nonstatic
->temporal
- Rename
- Use the same names (
Future work
- Rename "timeline" to "index" everywhere
- Rename
disable_timeline
andreset_time
- Rename