Skip to content

Commit c253572

Browse files
Empty user token and KQP topic operations (#7117)
1 parent 4598038 commit c253572

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

ydb/core/kqp/session_actor/kqp_query_state.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ std::unique_ptr<TEvTxProxySchemeCache::TEvNavigateKeySet> TKqpQueryState::BuildN
117117

118118
auto navigate = MakeHolder<NSchemeCache::TSchemeCacheNavigate>();
119119
navigate->DatabaseName = Database;
120-
if (UserToken && !UserToken->GetSerializedToken().empty()) {
120+
if (HasUserToken()) {
121121
navigate->UserToken = UserToken;
122122
}
123123

@@ -412,12 +412,23 @@ std::unique_ptr<NSchemeCache::TSchemeCacheNavigate> TKqpQueryState::BuildSchemeC
412412
consumer = operations.GetConsumer();
413413

414414
TopicOperations.FillSchemeCacheNavigate(*navigate, std::move(consumer));
415-
navigate->UserToken = UserToken;
415+
if (HasUserToken()) {
416+
navigate->UserToken = UserToken;
417+
}
416418
navigate->Cookie = QueryId;
417419
return navigate;
418420
}
419421

422+
bool TKqpQueryState::HasUserToken() const
423+
{
424+
return UserToken && !UserToken->GetSerializedToken().empty();
425+
}
426+
420427
bool TKqpQueryState::IsAccessDenied(const NSchemeCache::TSchemeCacheNavigate& response, TString& message) {
428+
if (!HasUserToken()) {
429+
return false;
430+
}
431+
421432
auto checkAccessDenied = [&] (const NSchemeCache::TSchemeCacheNavigate::TEntry& result) {
422433
static const auto selectRowRights = NACLib::EAccessRights::SelectRow;
423434
static const auto accessAttributesRights = NACLib::EAccessRights::ReadAttributes | NACLib::EAccessRights::WriteAttributes;

ydb/core/kqp/session_actor/kqp_query_state.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,8 @@ class TKqpQueryState : public TNonCopyable {
596596
std::unique_ptr<NSchemeCache::TSchemeCacheNavigate> BuildSchemeCacheNavigate();
597597
bool IsAccessDenied(const NSchemeCache::TSchemeCacheNavigate& response, TString& message);
598598
bool HasErrors(const NSchemeCache::TSchemeCacheNavigate& response, TString& message);
599+
600+
bool HasUserToken() const;
599601
};
600602

601603

0 commit comments

Comments
 (0)