Skip to content

Timestamp and Interval arithmetics #5704

@berkaysynnada

Description

@berkaysynnada

Is your feature request related to a problem or challenge?

When we write such queries:
1)SELECT val, ts1 - ts2 AS ts_diff FROM table_a ORDER BY ts2 - ts1,
2)SELECT val, interval1 - interval2 AS interval_diff FROM table_a ORDER BY interval2 - interval1 ,
3)SELECT val, ts1 - interval1 AS ts_interval_diff FROM table_a ORDER BY ts1 - interval1 DESC
we get errors like:
1)Plan("'Timestamp(Second, None) - Timestamp(Second, None)' is an unsupported operation. addition/subtraction on dates/timestamps only supported with interval types"),
2)Plan("'Interval(DayTime) - Interval(DayTime)' can't be evaluated because there isn't a common type to coerce the types to"),
3)Execution("Columnar execution is not yet supported for DateIntervalExpr")

These operations are applicable for scalar values; however, columnar operations are not supported yet.

Describe the solution you'd like

In planner.rs, binary.rs and datetime.rs, there are some match expressions that need to be extended to handle these cases. Considering the behavior in scalar value operations, required arithmetic operations can be implemented.

Describe alternatives you've considered

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions