@@ -327,22 +327,16 @@ Result<std::shared_ptr<Split>> Split::Deserialize(const char* buffer, size_t len
327327 if (pos == stream_length) {
328328 return data_split;
329329 } else if (data_split->BucketPath () == ChainDataSplitImpl::VIRTUAL_BUCKET_PATH ) {
330- auto chain_split = ReadChainDataSplitTail (data_split, pool, &in);
331- if (!chain_split.ok ()) {
332- return Status::Invalid (fmt::format (" invalid ChainDataSplit byte stream: {}" ,
333- chain_split.status ().ToString ()));
334- }
335- return std::static_pointer_cast<Split>(chain_split.value ());
330+ PAIMON_ASSIGN_OR_RAISE (std::shared_ptr<ChainDataSplitImpl> chain_split,
331+ ReadChainDataSplitTail (data_split, pool, &in));
332+ return std::static_pointer_cast<Split>(chain_split);
336333 } else if (pos == stream_length - 1 ) {
337334 PAIMON_ASSIGN_OR_RAISE (bool is_fallback, in.ReadValue <bool >());
338335 return std::make_shared<FallbackDataSplit>(data_split, is_fallback);
339336 } else {
340- auto chain_split = ReadChainDataSplitTail (data_split, pool, &in);
341- if (!chain_split.ok ()) {
342- return Status::Invalid (fmt::format (" invalid ChainDataSplit byte stream: {}" ,
343- chain_split.status ().ToString ()));
344- }
345- return std::static_pointer_cast<Split>(chain_split.value ());
337+ PAIMON_ASSIGN_OR_RAISE (std::shared_ptr<ChainDataSplitImpl> chain_split,
338+ ReadChainDataSplitTail (data_split, pool, &in));
339+ return std::static_pointer_cast<Split>(chain_split);
346340 }
347341 }
348342 return Status::Invalid (" invalid split, must be DataSplit or IndexedSplit" );
0 commit comments