paleolimbot commented on code in PR #41765:
URL: https://github.com/apache/arrow/pull/41765#discussion_r2005790315
##########
cpp/src/parquet/arrow/schema_internal.cc:
##########
@@ -191,10 +191,18 @@ Result<std::shared_ptr<ArrowType>> FromInt64(const
LogicalType& logical_type) {
Result<std::shared_ptr<ArrowType>> GetArrowType(
Type::type physical_type, const LogicalType& logical_type, int type_length,
const ArrowReaderProperties& reader_properties) {
- if (logical_type.is_invalid() || logical_type.is_null()) {
+ if (logical_type.is_null()) {
return ::arrow::null();
}
+ if (logical_type.is_invalid() &&
reader_properties.convert_unknown_logical_types()) {
+ return GetArrowType(physical_type, *NoLogicalType::Make(), type_length,
+ reader_properties);
+ } else if (logical_type.is_invalid()) {
+ return Status::NotImplemented(
Review Comment:
I don't think so...I don't think it was possible to achieve an
`UndefinedLogicalType` before this change, and so `is_invalid()` never would
have returned true (as far as I can tell!)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]