apache / apache/paimon-cpp

[Feature] Support reading Paimon TIME columns

Abierto
#292 2 comentarios 0 reacciones 1 asignado Reclamado por @QuakeWang Ver en GitHub
enhancement
Lenguaje dominante
C++
Estrellas
65
Forks
25
Merge medio
2 d 12 h
PR fusionados (30 d)
80

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.