apache / apache/paimon-cpp

[Feature] Support reading Paimon TIME columns

Đang mở
#292 2 bình luận 0 reaction 1 người được giao Được @QuakeWang nhận Xem trên GitHub
enhancement
Ngôn ngữ chính
C++
Star
65
Fork
25
Merge trung bình
2 ngày 12 giờ
Pull request đã merge (30 ngày)
80

Mô tả

### Search before asking

- [x] I searched the issues and found nothing similar.

### Motivation

Reading a Paimon table containing a `TIME` column fails during schema deserialization:

```text
Invalid: deserialize failed, possibly type incompatible:
parse data type failed, error msg: Invalid: Unsupported type: TIME
```

The Parquet table was created with PyPaimon 2.0.0 using an Arrow `time32[ms]` column containing `00:00:00.123`, `23:59:59.999`, and `NULL`. PyPaimon successfully writes and reads these values, but reading through the Vane Paimon extension fails.

Tested with paimon-cpp commit `366323740cc13b5e113d9465080624b28e3880e8`, bundled in extension commit `b0ac989`.

### Solution

Support Paimon `TIME` schema parsing and the corresponding Arrow time representation in the read path. Add a Parquet round-trip test covering millisecond precision, boundary values, and `NULL`.

The current [type parser](https://github.com/apache/paimon-cpp/blob/a42670e066bba60100317cc0aa5a854b2273bf98/src/paimon/common/types/data_type_json_parser.cpp) still has no `TIME` handling branch.

### Anything else?

The failure was reproduced through Vane, not a standalone paimon-cpp executable.

### Are you willing to submit a PR?

- [x] I'm willing to submit a PR!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.