You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ho...@apache.org on 2021/09/11 18:43:12 UTC

[arrow] branch qp_interval created (now 3d127ea)

This is an automated email from the ASF dual-hosted git repository.

houqp pushed a change to branch qp_interval
in repository https://gitbox.apache.org/repos/asf/arrow.git.


      at 3d127ea  ARROW-13977: [Format] clarify leap seconds and leap days for interval type

This branch includes the following new commits:

     new 3d127ea  ARROW-13977: [Format] clarify leap seconds and leap days for interval type

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[arrow] 01/01: ARROW-13977: [Format] clarify leap seconds and leap days for interval type

Posted by ho...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

houqp pushed a commit to branch qp_interval
in repository https://gitbox.apache.org/repos/asf/arrow.git

commit 3d127ea0012b93e3adb3c77ba996dd8e59ec7006
Author: Qingping Hou <da...@gmail.com>
AuthorDate: Sat Sep 11 11:34:08 2021 -0700

    ARROW-13977: [Format] clarify leap seconds and leap days for interval type
---
 format/Schema.fbs | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/format/Schema.fbs b/format/Schema.fbs
index 0ee23bb..d9d67aa 100644
--- a/format/Schema.fbs
+++ b/format/Schema.fbs
@@ -357,18 +357,23 @@ enum IntervalUnit: short { YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO}
 // days can differ in length during day light savings time transitions).
 // All integers in the types below are stored in the endianness indicated
 // by the schema.
+//
 // YEAR_MONTH - Indicates the number of elapsed whole months, stored as
 //   4-byte signed integers.
-// DAY_TIME - Indicates the number of elapsed days and milliseconds,
-//   stored as 2 contiguous 32-bit integers (8-bytes in total).  Support
+// DAY_TIME - Indicates the number of elapsed days and milliseconds (no leap seconds),
+//   stored as 2 contiguous 32-bit integers (8-bytes in total). Support
 //   of this IntervalUnit is not required for full arrow compatibility.
+//   DAY_TIME interval doesn't have total order due to day light savings.
 // MONTH_DAY_NANO - A triple of the number of elapsed months, days, and nanoseconds.
 //  The values are stored contiguously in 16 byte blocks. Months and
 //  days are encoded as 32 bit integers and nanoseconds is encoded as a
-//  64 bit integer. All integers are signed. Each field is independent
-//  (e.g. there is no constraint that nanoseconds have the same sign
-//   as days or that the quantity of nanoseconds represents less
-//   than a day's worth of time).
+//  64 bit integer. Days takes into account of leap days. Nanoseconds does not
+//  allow for leap seconds. All integers are signed. Each field is independent
+//  (e.g. there is no constraint that nanoseconds have the same sign as days or
+//  that the quantity of nanoseconds represents less than a day's worth of
+//  time).
+//  MONTH_DAY_NANO interval doesn't have total order due to leap days and day
+//  light savings.
 table Interval {
   unit: IntervalUnit;
 }