arrow: [C++][Parquet] Timestamp conversion from Parquet to Arrow does not follow compatibility guidelines for convertedType

Describe the bug, including details regarding any error messages, version, and platform.

The Parquet format document indicates that converted types should have isAdjustedToUtc=true for backward compatibility, but the current C++ implementation sets this to false for converted types.

The Rust implementation already follows the spec as described and the Go implementation has #39467 open to correct this.

Component(s)

C++, Parquet

About this issue

  • Original URL
  • State: closed
  • Created 6 months ago
  • Comments: 20 (20 by maintainers)

Commits related to this issue

Most upvoted comments

Some related discussions:

Now I suppose that because of those mentioned issues, when converting a TimestampLogicalType to an Arrow timestamp type, we do ignore the isAdjustedToUtc flag if the logical type has been annotated to come from a converted type. So then changing isAdjustedToUtc in those cases shouldn’t actually impact any behaviour in the Arrow API layer of the Parquet library?