[ 
https://issues.apache.org/jira/browse/SPARK-57854?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Max Gekk updated SPARK-57854:
-----------------------------
    Shepherd: Max Gekk

> Support the parenthesized interval-qualified datetime difference syntax
> -----------------------------------------------------------------------
>
>                 Key: SPARK-57854
>                 URL: https://issues.apache.org/jira/browse/SPARK-57854
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 4.3.0
>            Reporter: Max Gekk
>            Priority: Major
>
> This sub-task is part of the umbrella SPARK-57550 (extend support for the 
> TIME data type).
> h2. Problem
> ANSI defines a parenthesized, interval-qualified datetime difference, e.g. 
> {{(t1 - t2) DAY TO SECOND}} / {{(t1 - t2) HOUR}} (std ~L16762-16763). Spark 
> only supports the bare {{t1 - t2}} form, which for TIME yields a fixed 
> {{DayTimeIntervalType(HOUR, SECOND)}} ({{SubtractTimes}}). There is no 
> parser/resolver support for the qualified form.
> h2. Goal
> Add grammar and analyzer support for the parenthesized interval-qualified 
> datetime difference (for TIME and, consistently, DATE/TIMESTAMP), producing 
> the requested interval qualifier with documented rounding/truncation.
> h2. Scope
> Extend the SQL grammar and {{AstBuilder}} for the {{( <datetime> - <datetime> 
> ) <interval qualifier>}} form; resolve to the appropriate subtraction 
> expression cast to the requested qualifier.
> h2. Acceptance criteria
> * {{(TIME '10:00:00' - TIME '08:00:00') HOUR}} returns an {{INTERVAL HOUR}} 
> value; other qualifiers behave per ANSI.
> h2. Testing
> Parser suite (e.g. {{ExpressionParserSuite}}) and {{TimeExpressionsSuite}}; 
> golden files.
> h2. Dependencies
> None hard; largest/most speculative item in this set. Relates to the ANSI 
> OVERLAPS predicate sub-task (SPARK-57586).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to