diff options
author | va-kuznecov <va-kuznecov@ydb.tech> | 2022-09-16 12:01:57 +0300 |
---|---|---|
committer | va-kuznecov <va-kuznecov@ydb.tech> | 2022-09-16 12:01:57 +0300 |
commit | 4484f53766ffa41194f08f8da21c4cc5712a6f19 (patch) | |
tree | 14c5af452f034eaeee3323e73d8efd25359f84a7 | |
parent | 9fa4aa19ccc72330f2332fb81eb0fa37565c32c7 (diff) | |
download | ydb-4484f53766ffa41194f08f8da21c4cc5712a6f19.tar.gz |
Fix kqp_session_actor on tx with no physical queries
-rw-r--r-- | ydb/core/kqp/kqp_session_actor.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/ydb/core/kqp/kqp_session_actor.cpp b/ydb/core/kqp/kqp_session_actor.cpp index 5189cf835cc..e3ace17f1b7 100644 --- a/ydb/core/kqp/kqp_session_actor.cpp +++ b/ydb/core/kqp/kqp_session_actor.cpp @@ -958,11 +958,15 @@ public: } void ExecuteOrDefer() { + if (!(QueryState->PreparedQuery + && QueryState->CurrentTx < QueryState->PreparedQuery->GetPhysicalQuery().TransactionsSize())) + { + ReplySuccess(); + return; + } auto& txCtx = *QueryState->TxCtx; - auto requestInfo = TKqpRequestInfo(QueryState->TraceId, SessionId); - const NKqpProto::TKqpPhyQuery& phyQuery = QueryState->PreparedQuery->GetPhysicalQuery(); - YQL_ENSURE(QueryState->CurrentTx < phyQuery.TransactionsSize()); + const auto& phyQuery = QueryState->PreparedQuery->GetPhysicalQuery(); auto tx = std::shared_ptr<const NKqpProto::TKqpPhyTx>(QueryState->PreparedQuery, &phyQuery.GetTransactions(QueryState->CurrentTx)); @@ -1193,13 +1197,7 @@ public: exec->Swap(txResult.MutableStats()); } - if (QueryState->PreparedQuery && - QueryState->CurrentTx < QueryState->PreparedQuery->GetPhysicalQuery().TransactionsSize()) - { ExecuteOrDefer(); - } else { - ReplySuccess(); - } } void HandleExecute(TEvKqpExecuter::TEvStreamData::TPtr& ev) { |