diff options
author | ssmike <ssmike@ydb.tech> | 2023-08-15 16:04:50 +0300 |
---|---|---|
committer | ssmike <ssmike@ydb.tech> | 2023-08-15 17:00:50 +0300 |
commit | cf1d3c2a0f4ec54b688bb5fb98ec52f5dbc45103 (patch) | |
tree | 4c56e3a3b58d6b6217f7d1779ba6c182ec166d33 | |
parent | fd3978102761adff1a29e7f0376e378b5f294985 (diff) | |
download | ydb-cf1d3c2a0f4ec54b688bb5fb98ec52f5dbc45103.tar.gz |
Source multishard repro
-rw-r--r-- | ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp b/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp index bf4f7d5e39..a34b71bff0 100644 --- a/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp +++ b/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp @@ -777,6 +777,34 @@ Y_UNIT_TEST_SUITE(KqpQueryPerf) { .ExpectedDeletes = 3, }); } + + Y_UNIT_TEST_TWIN(MultiRead, SourceRead) { + TKikimrSettings settings; + NKikimrConfig::TAppConfig appConfig; + appConfig.MutableTableServiceConfig()->SetEnableKqpDataQuerySourceRead(SourceRead); + settings.SetAppConfig(appConfig); + + TKikimrRunner kikimr(settings); + auto db = kikimr.GetTableClient(); + auto session = db.CreateSession().GetValueSync().GetSession(); + + { + auto settings = NYdb::NTable::TExecDataQuerySettings().CollectQueryStats(ECollectQueryStatsMode::Full); + auto result = session.ExecuteDataQuery(R"( + SELECT * FROM `/Root/KeyValueLargePartition` WHERE Key > 101; + SELECT * FROM `/Root/KeyValueLargePartition` Where Key < 201; + )", TTxControl::BeginTx().CommitTx(), settings).GetValueSync(); + UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString()); + size_t partitionsCount = 0; + auto& stats = NYdb::TProtoAccessor::GetProto(*result.GetStats()); + for (auto& phase : stats.query_phases()) { + for (auto& read : phase.table_access()) { + partitionsCount += read.partitions_count(); + } + } + UNIT_ASSERT_VALUES_EQUAL(partitionsCount, SourceRead ? 2 : 1); + } + } } } // namespace NKikimr::NKqp |