[Feature] Support reading Paimon TIME columns
- Dominant language
- C++
- Stars
- 65
- Forks
- 25
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 80
Description
### 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!
Contributor guide
Assessment
This issue has not been assessed yet.