aboutsummaryrefslogtreecommitdiffstats
path: root/yt
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-01-26 10:38:41 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-01-26 10:59:50 +0300
commit15e6154017194456fd8a7a76513e14aa4ae5f5d1 (patch)
treebea20f6ae3e84ef5c5eb3d6c1bf9bcb87bc76ed4 /yt
parentf20c5c33c6e04f9b49a394b725a12a1e9e9290ef (diff)
downloadydb-15e6154017194456fd8a7a76513e14aa4ae5f5d1.tar.gz
Intermediate changes
Diffstat (limited to 'yt')
-rw-r--r--yt/yt/client/api/client_common.h2
-rw-r--r--yt/yt/client/api/rpc_proxy/client_base.cpp1
-rw-r--r--yt/yt/client/driver/command-inl.h7
-rw-r--r--yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto1
4 files changed, 11 insertions, 0 deletions
diff --git a/yt/yt/client/api/client_common.h b/yt/yt/client/api/client_common.h
index 8cbb77be07..3cc8fe461f 100644
--- a/yt/yt/client/api/client_common.h
+++ b/yt/yt/client/api/client_common.h
@@ -153,6 +153,8 @@ struct TSelectRowsOptionsBase
bool NewRangeInference = true;
//! Enables canonical SQL behaviour for relational operators, i.e. null </=/> value -> null.
bool UseCanonicalNullRelations = false;
+ //! Merge versioned rows from different stores when reading.
+ bool MergeVersionedRows = true;
};
struct TSelectRowsOptions
diff --git a/yt/yt/client/api/rpc_proxy/client_base.cpp b/yt/yt/client/api/rpc_proxy/client_base.cpp
index 64fbb0de05..6f0961d58b 100644
--- a/yt/yt/client/api/rpc_proxy/client_base.cpp
+++ b/yt/yt/client/api/rpc_proxy/client_base.cpp
@@ -1003,6 +1003,7 @@ TFuture<TSelectRowsResult> TClientBase::SelectRows(
ToProto(req->mutable_suppressable_access_tracking_options(), options);
req->set_replica_consistency(static_cast<NProto::EReplicaConsistency>(options.ReplicaConsistency));
req->set_use_canonical_null_relations(options.UseCanonicalNullRelations);
+ req->set_merge_versioned_rows(options.MergeVersionedRows);
return req->Invoke().Apply(BIND([] (const TApiServiceProxy::TRspSelectRowsPtr& rsp) {
TSelectRowsResult result;
diff --git a/yt/yt/client/driver/command-inl.h b/yt/yt/client/driver/command-inl.h
index 6cd7d52810..d30876cacf 100644
--- a/yt/yt/client/driver/command-inl.h
+++ b/yt/yt/client/driver/command-inl.h
@@ -419,6 +419,13 @@ void TSelectRowsCommandBase<
return command->Options.UseCanonicalNullRelations;
})
.Optional(/*init*/ false);
+
+ registrar.template ParameterWithUniversalAccessor<bool>(
+ "merge_versioned_rows",
+ [] (TThis* command) -> auto& {
+ return command->Options.MergeVersionedRows;
+ })
+ .Optional(/*init*/ false);
}
////////////////////////////////////////////////////////////////////////////////
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 12fa0acd9a..9cab02e727 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
@@ -589,6 +589,7 @@ message TReqSelectRows
optional bytes placeholder_values = 18; // YSON
optional bool new_range_inference = 19;
optional bool use_canonical_null_relations = 20;
+ optional bool merge_versioned_rows = 21;
optional TSuppressableAccessTrackingOptions suppressable_access_tracking_options = 104;
}