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

Max Gekk updated SPARK-57836:
-----------------------------
    Shepherd: Max Gekk

> Produce and accept nanosecond precision in to_timestamp, to_timestamp_ntz, 
> to_timestamp_ltz and try_to_timestamp
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-57836
>                 URL: https://issues.apache.org/jira/browse/SPARK-57836
>             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-56822 (timestamps with nanosecond 
> precision).
> h2. Problem
> {{ParseToTimestamp}} (datetimeExpressions.scala ~L2641-2674) and the builders 
> (~L1506-1591) pin the target {{dataType}} to {{TimestampNTZType}} / 
> {{TimestampType}} / {{SQLConf.get.timestampType}} (all microsecond), and 
> {{inputTypes}} omit nanosecond. So there is no way to PARSE a string into a 
> nanosecond timestamp, and a nanosecond input is narrowed to microseconds.
> h2. Goal
> Allow {{to_timestamp}}, {{to_timestamp_ntz}}, {{to_timestamp_ltz}} and 
> {{try_to_timestamp}} to produce nanosecond-precision output (at least via 
> {{TIMESTAMP_NTZ(p)}} / {{TIMESTAMP_LTZ(p)}} target semantics), parse up to 9 
> fractional digits, and accept nanosecond inputs without narrowing.
> h2. Scope
> Thread a target precision/type through the builders; use the nanosecond-aware 
> {{TimestampFormatter}} for parsing; accept {{AnyTimestampNanoType}} inputs in 
> {{ToTimestamp}} / {{GetTimestamp}} {{inputTypes}}.
> h2. Acceptance criteria
> * Parsing a 7-9 digit fractional string yields a nanosecond timestamp; the 
> {{try_}} variant returns null instead of throwing on overflow/invalid input.
> h2. Testing
> {{DateExpressionsSuite}}; nanos golden files.
> h2. Dependencies
> None hard - coordinate with the overflow/range-hardening sub-task (parse 
> overflow error taxonomy).



--
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