rok commented on code in PR #13901:
URL: https://github.com/apache/arrow/pull/13901#discussion_r1752362505


##########
cpp/src/parquet/arrow/schema_internal.cc:
##########
@@ -107,17 +110,24 @@ Result<std::shared_ptr<ArrowType>> 
MakeArrowTimestamp(const LogicalType& logical
   }
 }
 
-Result<std::shared_ptr<ArrowType>> FromByteArray(const LogicalType& 
logical_type) {
+Result<std::shared_ptr<ArrowType>> FromByteArray(
+    const LogicalType& logical_type, const ArrowReaderProperties& 
reader_properties) {
   switch (logical_type.type()) {
     case LogicalType::Type::STRING:
       return ::arrow::utf8();
     case LogicalType::Type::DECIMAL:
       return MakeArrowDecimal(logical_type);
     case LogicalType::Type::NONE:
     case LogicalType::Type::ENUM:
-    case LogicalType::Type::JSON:
     case LogicalType::Type::BSON:
       return ::arrow::binary();
+    case LogicalType::Type::JSON:
+      if (reader_properties.get_arrow_extensions_enabled()) {

Review Comment:
   I'm not sure why would we want a more specific property. Could you say more?
   Thinking about it - `json` extension doesn't have any extra requirements so 
we'll likely always have it enabled. Same for `bool8` and `uuid`. On the other 
hand `fixed_shape_tensor` and `opaque` depend on `rapidjson` so they would not 
always be available, but they are not Parquet logical types.



-- 
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]

Reply via email to