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

Fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-testing.git


The following commit(s) were added to refs/heads/master by this push:
     new 56653c4  Add file with an FLBA(12) TIMESTAMP column (#123)
56653c4 is described below

commit 56653c437c8092f704a092d0d1d4e600124cd49f
Author: Divjot Arora <[email protected]>
AuthorDate: Tue Sep 15 09:24:18 2026 +0200

    Add file with an FLBA(12) TIMESTAMP column (#123)
    
    * Add FLBA(12) TIMESTAMP test file
    
    Co-authored-by: Isaac
    
    * address comments
---
 data/README.md                |   1 +
 data/flba12_timestamp.md      |  49 ++++++++++++++++++++++++++++++++++++++++++
 data/flba12_timestamp.parquet | Bin 0 -> 1119 bytes
 3 files changed, 50 insertions(+)

diff --git a/data/README.md b/data/README.md
index 036ecf6..7aebae5 100644
--- a/data/README.md
+++ b/data/README.md
@@ -67,6 +67,7 @@
 | alp_extended.zstd.parquet | FLOAT and DOUBLE columns encoded using Adaptive 
Lossless floating-Point (ALP). See [note](#alp-encoding) below |
 | json.parquet | A single optional BYTE_ARRAY column annotated with the JSON 
logical type (also carries the legacy converted type JSON). Four rows: 
`{"a":1}`, `{"a":1,"b":null}` (null field value inside a non-null document), 
`[1,null,3]` (null element inside an array), and a NULL row. See 
[note](#json-and-bson-logical-types) below. |
 | bson.parquet | A single optional BYTE_ARRAY column annotated with the BSON 
logical type (also carries the legacy converted type BSON). Three rows: BSON 
`{"a":1}`, `{"a":1,"b":null}` (null field value inside a non-null document), 
and a NULL row. See [note](#json-and-bson-logical-types) below. |
+| flba12_timestamp.parquet | Three `FIXED_LEN_BYTE_ARRAY(12)` columns 
annotated with `TIMESTAMP`. See [flba12_timestamp.md](flba12_timestamp.md) for 
details. |
 
 TODO: Document what each file is in the table above.
 
diff --git a/data/flba12_timestamp.md b/data/flba12_timestamp.md
new file mode 100644
index 0000000..5b08b15
--- /dev/null
+++ b/data/flba12_timestamp.md
@@ -0,0 +1,49 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+# `flba12_timestamp.parquet`
+
+Three columns with physical type `FIXED_LEN_BYTE_ARRAY(12)` and logical type 
`TIMESTAMP`.
+
+## Schema
+
+```
+message flba12_timestamp {
+  optional fixed_len_byte_array(12) timestamp_millis (TIMESTAMP(MILLIS,true));
+  optional fixed_len_byte_array(12) timestamp_micros (TIMESTAMP(MICROS,true));
+  optional fixed_len_byte_array(12) timestamp_nanos  (TIMESTAMP(NANOS,true));
+}
+```
+
+All columns use `TYPE_DEFINED_ORDER`. For the `timestamp_nanos` column, two 
out of the six rows
+require more than 64 bits to represent.
+
+## Values
+
+The same six timestamp values appear in every column, only the unit scale 
differs. The values
+below are interpreted as ISO-8601 timestamps in the Proleptic Gregorian 
calendar.
+
+| Row | Timestamp (UTC)       | Epoch Seconds    | Note                        
                |
+|-----|-----------------------|------------------|---------------------------------------------|
+| 0   | 1970-01-01T00:00:00Z  | 0                | Epoch (all-zero bytes)      
                |
+| 1   | 1970-01-01T00:00:01Z  | 1                | Small positive              
                |
+| 2   | 1969-12-31T23:59:59Z  | -1               | Small negative (exercises 
two's-complement) |
+| 3   | 2262-04-11T23:47:16Z  | 9,223,372,036    | Near INT64-nanos max        
                |
+| 4   | 9999-12-31T23:59:59Z  | 253,402,300,799  | Far future — NANOS exceeds 
INT64            |
+| 5   | 0001-01-01T00:00:00Z  | -62,135,596,800  | Far past — NANOS is below 
INT64 minimum     |
diff --git a/data/flba12_timestamp.parquet b/data/flba12_timestamp.parquet
new file mode 100644
index 0000000..828d70f
Binary files /dev/null and b/data/flba12_timestamp.parquet differ

Reply via email to