Skip to content

Commit fe85db1

Browse files
authored
[stable-25-2-1] Fix overloaded & CTAS (#25308)
2 parents 902dedd + 47d2db6 commit fe85db1

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

ydb/core/kqp/executer_actor/kqp_scheme_executer.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ class TKqpSchemeExecuter : public TActorBootstrapped<TKqpSchemeExecuter> {
120120
auto* makeDir = modifyScheme->MutableMkDir();
121121
makeDir->SetName(GetSessionDirName());
122122

123+
NACLib::TDiffACL diffAcl;
124+
diffAcl.SetInterruptInheritance(true);
125+
auto* modifyAcl = modifyScheme->MutableModifyACL();
126+
modifyAcl->SetDiffACL(diffAcl.SerializeAsString());
127+
123128
auto promise = NewPromise<IKqpGateway::TGenericResult>();
124129
IActor* requestHandler = new TSchemeOpRequestHandler(ev.Release(), promise, false);
125130
RegisterWithSameMailbox(requestHandler);
@@ -162,6 +167,7 @@ class TKqpSchemeExecuter : public TActorBootstrapped<TKqpSchemeExecuter> {
162167
NACLib::EAccessType::Allow,
163168
access,
164169
UserToken->GetUserSID());
170+
diffAcl.SetInterruptInheritance(true);
165171
auto* modifyAcl = modifyScheme->MutableModifyACL();
166172
modifyAcl->SetDiffACL(diffAcl.SerializeAsString());
167173
}

ydb/core/kqp/host/kqp_statement_rewrite.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ namespace {
264264
const TString tmpTableName = TStringBuilder()
265265
<< tableName
266266
<< "_cas_"
267-
<< TAppData::RandomProvider->GenRand();
267+
<< TAppData::RandomProvider->GenUuid4().AsUuidString();
268268

269269
const TString createTableName = (TStringBuilder()
270270
<< CanonizePath(sessionCtx->GetDatabase())

ydb/core/kqp/runtime/kqp_write_actor.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -609,9 +609,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
609609
<< getIssues().ToOneLineString());
610610

611611
const auto metadata = ShardedWriteController->GetMessageMetadata(ev->Get()->Record.GetOrigin());
612-
YQL_ENSURE(metadata);
613-
614-
if (ev->Get()->Record.GetOverloadSubscribed() + 1 == metadata->NextOverloadSeqNo) {
612+
if (metadata && ev->Get()->Record.GetOverloadSubscribed() + 1 == metadata->NextOverloadSeqNo) {
615613
ResetShardRetries(ev->Get()->Record.GetOrigin(), ev->Cookie);
616614
}
617615

ydb/core/tx/schemeshard/schemeshard_path.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,12 @@ const TPath::TChecker& TPath::TChecker::FailOnRestrictedCreateInTempZone(bool al
882882
}
883883

884884
if (allowCreateInTemporaryDir) {
885+
if (std::all_of(Path.Elements.begin(), Path.Elements.end(),
886+
[](const auto& element) { return !element->IsTemporary(); })) {
887+
return Fail(status, TStringBuilder() << "path is not temporary"
888+
<< " (" << BasicPathInfo(Path.Base()) << ")"
889+
);
890+
}
885891
return *this;
886892
}
887893

0 commit comments

Comments
 (0)