apache / apache/paimon-cpp

[Feature] Support reading Paimon TIME columns

オープン
#292 コメント 2 件 リアクション 0 件 担当者 1 名 @QuakeWang が担当を希望しています GitHub で見る
enhancement
主要言語
C++
スター
65
フォーク
25
平均マージ
2日 12時間
マージ済み PR(30日)
80

説明

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

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。