summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Vasilev <[email protected]>2024-12-10 18:16:58 +0300
committerGitHub <[email protected]>2024-12-10 18:16:58 +0300
commit80aedb4f97ed19b07d98011239dd7e193c7b77f8 (patch)
tree1828a4e01d350a1f524a881bd40d836c762a0dff
parent239068a1ac8125e35cc7a007eecec488feef352b (diff)
Fix olap reads in data query (#12463)
-rw-r--r--ydb/core/kqp/executer_actor/kqp_data_executer.cpp4
-rw-r--r--ydb/core/kqp/ut/olap/kqp_olap_ut.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/ydb/core/kqp/executer_actor/kqp_data_executer.cpp b/ydb/core/kqp/executer_actor/kqp_data_executer.cpp
index f846d11eb2a..d46ff2a76bf 100644
--- a/ydb/core/kqp/executer_actor/kqp_data_executer.cpp
+++ b/ydb/core/kqp/executer_actor/kqp_data_executer.cpp
@@ -2007,7 +2007,7 @@ private:
default:
YQL_ENSURE(false, "unknown source type");
}
- } else if (StreamResult && stageInfo.Meta.IsOlap() && stage.SinksSize() == 0) {
+ } else if ((AllowOlapDataQuery || StreamResult) && stageInfo.Meta.IsOlap() && stage.SinksSize() == 0) {
BuildScanTasksFromShards(stageInfo);
} else if (stageInfo.Meta.IsSysView()) {
BuildSysViewScanTasks(stageInfo);
@@ -2161,7 +2161,7 @@ private:
void HandleResolve(TEvKqpExecuter::TEvTableResolveStatus::TPtr& ev) {
if (!TBase::HandleResolve(ev)) return;
- if (StreamResult) {
+ if (StreamResult || AllowOlapDataQuery) {
TSet<ui64> shardIds;
for (auto& [stageId, stageInfo] : TasksGraph.GetStagesInfo()) {
if (stageInfo.Meta.IsOlap()) {
diff --git a/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp b/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp
index 433bfa6e1dc..1e70d62d8b1 100644
--- a/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp
+++ b/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp
@@ -1867,10 +1867,10 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
ORDER BY CounterID, WatchID
)";
- auto it = tableClient.StreamExecuteScanQuery(query).GetValueSync();
+ auto it = session.ExecuteDataQuery(query, TTxControl::BeginTx(TTxSettings::SerializableRW()).CommitTx()).GetValueSync();
UNIT_ASSERT_C(it.IsSuccess(), it.GetIssues().ToString());
- TString result = StreamResultToYson(it);
+ TString result = FormatResultSetYson(it.GetResultSet(0));
Cout << result << Endl;
CompareYson(result, R"([[15;0];[15;1]])");
}