diff options
| author | coteeq <[email protected]> | 2025-10-15 15:19:10 +0300 |
|---|---|---|
| committer | coteeq <[email protected]> | 2025-10-15 16:31:53 +0300 |
| commit | b7df79cb9bce72d51561b4de8a3f20d0a4a739e8 (patch) | |
| tree | cdf195a1e95713ffc5393a9e355a194897bde9f9 | |
| parent | 5d0c0c2b00a91ee3d87db6691c0b4104f2eeddf8 (diff) | |
YT-26389: Support RLS in read_table_partition
commit_hash:7993a8aa42588e32d89c7620cfdbce19bb5e4cde
| -rw-r--r-- | yt/yt/client/api/rpc_proxy/client_impl.cpp | 2 | ||||
| -rw-r--r-- | yt/yt/client/api/table_client.h | 2 | ||||
| -rw-r--r-- | yt/yt/client/driver/table_commands.cpp | 3 | ||||
| -rw-r--r-- | yt/yt/client/driver/table_commands.h | 2 | ||||
| -rw-r--r-- | yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto | 2 |
5 files changed, 11 insertions, 0 deletions
diff --git a/yt/yt/client/api/rpc_proxy/client_impl.cpp b/yt/yt/client/api/rpc_proxy/client_impl.cpp index 668b3bcdbe9..1c8712b7af2 100644 --- a/yt/yt/client/api/rpc_proxy/client_impl.cpp +++ b/yt/yt/client/api/rpc_proxy/client_impl.cpp @@ -1883,6 +1883,8 @@ TFuture<NApi::TMultiTablePartitions> TClient::PartitionTables( req->set_enable_key_guarantee(options.EnableKeyGuarantee); req->set_enable_cookies(options.EnableCookies); + req->set_omit_inaccessible_rows(options.OmitInaccessibleRows); + ToProto(req->mutable_transactional_options(), options); return req->Invoke().Apply(BIND([] (const TApiServiceProxy::TRspPartitionTablesPtr& rsp) { diff --git a/yt/yt/client/api/table_client.h b/yt/yt/client/api/table_client.h index 8eb05256312..c5d35dce08d 100644 --- a/yt/yt/client/api/table_client.h +++ b/yt/yt/client/api/table_client.h @@ -323,6 +323,8 @@ struct TPartitionTablesOptions //! Whether to return cookies that can be fed to CreateTablePartitionReader. bool EnableCookies = false; + + bool OmitInaccessibleRows = false; }; struct TReadTablePartitionOptions diff --git a/yt/yt/client/driver/table_commands.cpp b/yt/yt/client/driver/table_commands.cpp index 71ae6f10e5c..47b0a1e14a3 100644 --- a/yt/yt/client/driver/table_commands.cpp +++ b/yt/yt/client/driver/table_commands.cpp @@ -516,6 +516,8 @@ void TPartitionTablesCommand::Register(TRegistrar registrar) .Default(true); registrar.Parameter("enable_cookies", &TThis::EnableCookies) .Default(false); + registrar.Parameter("omit_inaccessible_rows", &TThis::OmitInaccessibleRows) + .Default(false); } void TPartitionTablesCommand::DoExecute(ICommandContextPtr context) @@ -530,6 +532,7 @@ void TPartitionTablesCommand::DoExecute(ICommandContextPtr context) Options.EnableKeyGuarantee = EnableKeyGuarantee; Options.AdjustDataWeightPerPartition = AdjustDataWeightPerPartition; Options.EnableCookies = EnableCookies; + Options.OmitInaccessibleRows = OmitInaccessibleRows; auto partitions = WaitFor(context->GetClient()->PartitionTables(Paths, Options)) .ValueOrThrow(); diff --git a/yt/yt/client/driver/table_commands.h b/yt/yt/client/driver/table_commands.h index eebdc492cd2..653e06c6c07 100644 --- a/yt/yt/client/driver/table_commands.h +++ b/yt/yt/client/driver/table_commands.h @@ -159,6 +159,8 @@ private: //! Return cookies that can be used with read_table_partition command bool EnableCookies; + bool OmitInaccessibleRows; + void DoExecute(ICommandContextPtr context) override; }; diff --git a/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto b/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto index ff56409db42..cd6d02d5ed3 100644 --- a/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto +++ b/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto @@ -2239,6 +2239,8 @@ message TReqPartitionTables optional bool enable_cookies = 10; + optional bool omit_inaccessible_rows = 13; + optional TTransactionalOptions transactional_options = 100; reserved 11, 12; |
