kou commented on code in PR #50874:
URL: https://github.com/apache/arrow/pull/50874#discussion_r3808299529


##########
cpp/src/arrow/extension/fixed_shape_tensor.cc:
##########
@@ -116,60 +115,189 @@ Result<std::shared_ptr<DataType>> 
FixedShapeTensorType::Deserialize(
     return Status::Invalid("Expected FixedSizeList storage type, got ",
                            storage_type->ToString());
   }
+
   auto fsl_type = 
internal::checked_pointer_cast<FixedSizeListType>(storage_type);
   auto value_type = fsl_type->value_type();
-  rj::Document document;
-  if (document.Parse(serialized_data.data(), 
serialized_data.length()).HasParseError() ||
-      !document.IsObject() || !document.HasMember("shape") ||
-      !document["shape"].IsArray()) {
+
+  simdjson::padded_string padded_json(serialized_data);
+  simdjson::ondemand::parser parser;
+  simdjson::ondemand::document document;
+
+  if (auto error = parser.iterate(padded_json).get(document);
+      error != simdjson::SUCCESS) {

Review Comment:
   Could you avoid `if (error = ...; error != ...) {` style for readability?
   
   ```suggestion
     auto error = parser.iterate(padded_json).get(document);
     if (error != simdjson::SUCCESS) {
   ```



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