diff options
| author | nadya73 <[email protected]> | 2025-08-19 15:03:44 +0300 |
|---|---|---|
| committer | nadya73 <[email protected]> | 2025-08-19 15:24:08 +0300 |
| commit | 8bd81db869d23a6cf025f51e8948528d568dcec0 (patch) | |
| tree | ffd3c3097284f9d7f15e367ccbeb3bd9b79439b4 /yt/cpp/mapreduce/client/client.cpp | |
| parent | fe4a96448fec1ff4fb36f9a0fe2430a60290ef1d (diff) | |
[yt/cpp/mapreduce] YT-25894: Support $remaining_row_bytes in SkiffRow readers
commit_hash:f2670aa725e0acbd8cda1c6ccb7efc01c5f95ef5
Diffstat (limited to 'yt/cpp/mapreduce/client/client.cpp')
| -rw-r--r-- | yt/cpp/mapreduce/client/client.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/yt/cpp/mapreduce/client/client.cpp b/yt/cpp/mapreduce/client/client.cpp index 2d52bbabbca..26e5f00f336 100644 --- a/yt/cpp/mapreduce/client/client.cpp +++ b/yt/cpp/mapreduce/client/client.cpp @@ -875,13 +875,15 @@ THolder<TClientWriter> TClientBase::CreateClientWriter( const TRichYPath& path, const TTableReaderOptions& options, const ISkiffRowSkipperPtr& skipper, - const NSkiff::TSkiffSchemaPtr& schema) + const NSkiff::TSkiffSchemaPtr& requestedSchema, + const NSkiff::TSkiffSchemaPtr& parserSchema) { auto skiffOptions = TCreateSkiffSchemaOptions().HasRangeIndex(true); - auto resultSchema = NYT::NDetail::CreateSkiffSchema(TVector{schema}, skiffOptions); + auto resultRequestedSchema = NYT::NDetail::CreateSkiffSchema(TVector{requestedSchema}, skiffOptions); + auto resultParserSchema = NYT::NDetail::CreateSkiffSchema(TVector{parserSchema}, skiffOptions); return new TSkiffRowTableReader( - CreateClientReader(path, NYT::NDetail::CreateSkiffFormat(resultSchema), options), - resultSchema, + CreateClientReader(path, NYT::NDetail::CreateSkiffFormat(resultRequestedSchema), options), + resultParserSchema, {skipper}, std::move(skiffOptions)); } @@ -914,13 +916,16 @@ THolder<TClientWriter> TClientBase::CreateClientWriter( const TString& cookie, const TTablePartitionReaderOptions& options, const ISkiffRowSkipperPtr& skipper, - const NSkiff::TSkiffSchemaPtr& schema) + const NSkiff::TSkiffSchemaPtr& requestedSchema, + const NSkiff::TSkiffSchemaPtr& parserSchema) { auto skiffOptions = TCreateSkiffSchemaOptions().HasRangeIndex(true); - auto resultSchema = NYT::NDetail::CreateSkiffSchema(TVector{schema}, skiffOptions); + auto resultRequestedSchema = NYT::NDetail::CreateSkiffSchema(TVector{requestedSchema}, skiffOptions); + auto resultParserSchema = NYT::NDetail::CreateSkiffSchema(TVector{parserSchema}, skiffOptions); + return new TSkiffRowTableReader( - CreateRawTablePartitionReader(cookie, NYT::NDetail::CreateSkiffFormat(resultSchema), options), - resultSchema, + CreateRawTablePartitionReader(cookie, NYT::NDetail::CreateSkiffFormat(resultRequestedSchema), options), + resultParserSchema, {skipper}, std::move(skiffOptions)); } |
