Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-27790 Support ANSI SQL INTERVAL types
  3. SPARK-36723

day-time interval types should respect daylight saving time correctly

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.2.0
    • None
    • SQL
    • None

    Description

      In the current master, day-time interval types handle 24 hours as 1 day regardless of the time zone.
      So, some operation with day-time interval data doesn't respect daylight saving time.

      spark-sql> SET spark.sql.legacy.interval.enabled=false;
      spark-sql> SET spark.sql.session.timeZone America/Los_Angeles
      
      spark-sql> SELECT timestamp'2019-03-10 01:00:00' + INTERVAL '1' DAY;
      2019-03-11 01:00:00 -- OK. Expected result.
      
      spark-sql> SELECT timestamp'2019-03-10 01:00:00' + INTERVAL '24' HOUR;
      2019-03-11 01:00:00 -- Not OK. 2019-03-11 02:00:00 is expected.
      

      On the other hand, non-ANSI interval types properly handle daylight saving time.

      spark-sql> SET spark.sql.legacy.interval.enabled=true;
      spark-sql> SET spark.sql.session.timeZone America/Los_Angeles
      
      spark-sql> SELECT timestamp'2019-03-10 01:00:00' + INTERVAL '1' DAY;
      2019-03-11 01:00:00
      
      spark-sql> SELECT timestamp'2019-03-10 01:00:00' + INTERVAL '24' HOUR;
      2019-03-11 02:00:00
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            sarutak Kousuke Saruta
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: