#include "partition_reader.h" #include #include namespace NYT::NDetail { //////////////////////////////////////////////////////////////////////////////// class TPartitionTableReader : public TRawTableReader { public: TPartitionTableReader(std::unique_ptr input) : Input_(std::move(input)) { } bool Retry( const TMaybe& /*rangeIndex*/, const TMaybe& /*rowIndex*/, const std::exception_ptr& /*error*/) override { return false; } void ResetRetries() override { } bool HasRangeIndices() const override { return false; } protected: size_t DoRead(void* buf, size_t len) override { return Input_->Read(buf, len); } private: std::unique_ptr Input_; }; //////////////////////////////////////////////////////////////////////////////// TRawTableReaderPtr CreateTablePartitionReader( const IRawClientPtr& rawClient, const IRequestRetryPolicyPtr& retryPolicy, const TString& cookie, const TMaybe& format, const TTablePartitionReaderOptions& options) { auto stream = NDetail::RequestWithRetry>( retryPolicy, [&] (TMutationId /*mutationId*/) { return rawClient->ReadTablePartition(cookie, format, options); } ); return MakeIntrusive(std::move(stream)); } //////////////////////////////////////////////////////////////////////////////// } // namespace NYT::NDetail