Skip to content

Commit b2e29bf

Browse files
committed
Fixed PR comments ydb-platform#1
1 parent 73b8d3c commit b2e29bf

18 files changed

+90
-57
lines changed

ydb/core/protos/counters_schemeshard.proto

+7-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,10 @@ enum ESimpleCounters {
194194
COUNTER_IN_FLIGHT_OPS_TxAlterView = 156 [(CounterOpts) = {Name: "InFlightOps/AlterView"}];
195195
COUNTER_IN_FLIGHT_OPS_TxDropView = 157 [(CounterOpts) = {Name: "InFlightOps/DropView"}];
196196

197-
COUNTER_GRAPHSHARD_COUNT = 158 [(CounterOpts) = {Name: "GraphShards"}];
197+
COUNTER_IN_FLIGHT_OPS_TxReplaceExternalTable = 158 [(CounterOpts) = {Name: "InFlightOps/ReplaceExternalTable"}];
198+
COUNTER_IN_FLIGHT_OPS_TxReplaceExternalDataSource = 159 [(CounterOpts) = {Name: "InFlightOps/ReplaceExternalDataSource"}];
199+
200+
COUNTER_GRAPHSHARD_COUNT = 160 [(CounterOpts) = {Name: "GraphShards"}];
198201
}
199202

200203
enum ECumulativeCounters {
@@ -315,6 +318,9 @@ enum ECumulativeCounters {
315318
COUNTER_FINISHED_OPS_TxCreateView = 95 [(CounterOpts) = {Name: "FinishedOps/CreateView"}];
316319
COUNTER_FINISHED_OPS_TxDropView = 96 [(CounterOpts) = {Name: "FinishedOps/DropView"}];
317320
COUNTER_FINISHED_OPS_TxAlterView = 97 [(CounterOpts) = {Name: "FinishedOps/AlterView"}];
321+
322+
COUNTER_FINISHED_OPS_TxReplaceExternalTable = 98 [(CounterOpts) = {Name: "FinishedOps/ReplaceExternalTable"}];
323+
COUNTER_FINISHED_OPS_TxReplaceExternalDataSource = 99 [(CounterOpts) = {Name: "FinishedOps/ReplaceExternalDataSource"}];
318324
}
319325

320326
enum EPercentileCounters {

ydb/core/protos/feature_flags.proto

+1-1
Original file line numberDiff line numberDiff line change
@@ -128,5 +128,5 @@ message TFeatureFlags {
128128
optional bool EnableServerlessExclusiveDynamicNodes = 113 [default = false];
129129
optional bool EnableAccessServiceBulkAuthorization = 114 [default = false];
130130
optional bool EnableAddColumsWithDefaults = 115 [ default = false];
131-
optional bool EnableReplaceIfExists = 116 [ default = false];
131+
optional bool EnableReplaceIfExistsForExternalEntities = 116 [ default = false];
132132
}

ydb/core/protos/flat_scheme_op.proto

+3
Original file line numberDiff line numberDiff line change
@@ -1431,6 +1431,9 @@ enum EOperationType {
14311431
ESchemeOpCreateView = 93;
14321432
ESchemeOpAlterView = 94;
14331433
ESchemeOpDropView = 95;
1434+
1435+
ESchemeOpReplaceExternalDataSource = 96;
1436+
ESchemeOpReplaceExternalTable = 97;
14341437
}
14351438

14361439
message TApplyIf {

ydb/core/tx/schemeshard/schemeshard__operation.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -1061,14 +1061,18 @@ ISubOperation::TPtr TOperation::RestorePart(TTxState::ETxType txType, TTxState::
10611061
return CreateNewExternalTable(NextPartId(), txState);
10621062
case TTxState::ETxType::TxDropExternalTable:
10631063
return CreateDropExternalTable(NextPartId(), txState);
1064+
case TTxState::ETxType::TxReplaceExternalTable:
1065+
return CreateReplaceExternalTable(NextPartId(), txState);
10641066
case TTxState::ETxType::TxAlterExternalTable:
1065-
return CreateAlterExternalTable(NextPartId(), txState);
1067+
Y_ABORT("TODO: implement");
10661068
case TTxState::ETxType::TxCreateExternalDataSource:
10671069
return CreateNewExternalDataSource(NextPartId(), txState);
10681070
case TTxState::ETxType::TxDropExternalDataSource:
10691071
return CreateDropExternalDataSource(NextPartId(), txState);
1072+
case TTxState::ETxType::TxReplaceExternalDataSource:
1073+
return CreateReplaceExternalDataSource(NextPartId(), txState);
10701074
case TTxState::ETxType::TxAlterExternalDataSource:
1071-
return CreateAlterExternalDataSource(NextPartId(), txState);
1075+
Y_ABORT("TODO: implement");
10721076

10731077
// View
10741078
case TTxState::ETxType::TxCreateView:
@@ -1281,6 +1285,8 @@ ISubOperation::TPtr TOperation::ConstructPart(NKikimrSchemeOp::EOperationType op
12811285
return CreateDropBlobDepot(NextPartId(), tx);
12821286

12831287
// ExternalTable
1288+
case NKikimrSchemeOp::EOperationType::ESchemeOpReplaceExternalTable:
1289+
Y_ABORT("this operation must be constructed by ESchemeOpCreateExternalTable");
12841290
case NKikimrSchemeOp::EOperationType::ESchemeOpCreateExternalTable:
12851291
Y_ABORT("operation is handled before");
12861292
case NKikimrSchemeOp::EOperationType::ESchemeOpDropExternalTable:
@@ -1289,6 +1295,8 @@ ISubOperation::TPtr TOperation::ConstructPart(NKikimrSchemeOp::EOperationType op
12891295
Y_ABORT("TODO: implement");
12901296

12911297
// ExternalDataSource
1298+
case NKikimrSchemeOp::EOperationType::ESchemeOpReplaceExternalDataSource:
1299+
Y_ABORT("this operation must be constructed by ESchemeOpCreateExternalTable");
12921300
case NKikimrSchemeOp::EOperationType::ESchemeOpCreateExternalDataSource:
12931301
Y_ABORT("operation is handled before");
12941302
case NKikimrSchemeOp::EOperationType::ESchemeOpDropExternalDataSource:

ydb/core/tx/schemeshard/schemeshard__operation_create_external_data_source.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ TVector<ISubOperation::TPtr> CreateNewExternalDataSource(TOperationId id,
304304
Y_ABORT_UNLESS(tx.GetOperationType() == NKikimrSchemeOp::ESchemeOpCreateExternalDataSource);
305305

306306
LOG_I("CreateNewExternalDataSource, opId " << id << ", feature flag EnableOrReplace "
307-
<< context.SS->EnableReplaceIfExists << ", tx "
307+
<< context.SS->EnableReplaceIfExistsForExternalEntities << ", tx "
308308
<< tx.ShortDebugString());
309309

310310
auto errorResult = [&id](NKikimrScheme::EStatus status, const TStringBuf& msg) -> TVector<ISubOperation::TPtr> {
@@ -315,8 +315,8 @@ TVector<ISubOperation::TPtr> CreateNewExternalDataSource(TOperationId id,
315315
const auto replaceIfExists = operation.GetReplaceIfExists();
316316
const TString& name = operation.GetName();
317317

318-
if (replaceIfExists && !context.SS->EnableReplaceIfExists) {
319-
return errorResult(NKikimrScheme::StatusPreconditionFailed, "Unsupported: feature flag EnableReplaceIfExists is off");
318+
if (replaceIfExists && !context.SS->EnableReplaceIfExistsForExternalEntities) {
319+
return errorResult(NKikimrScheme::StatusPreconditionFailed, "Unsupported: feature flag EnableReplaceIfExistsForExternalEntities is off");
320320
}
321321

322322
const TString& parentPathStr = tx.GetWorkingDir();
@@ -342,7 +342,7 @@ TVector<ISubOperation::TPtr> CreateNewExternalDataSource(TOperationId id,
342342
.IsResolved()
343343
.NotUnderDeleting();
344344
if (isAlreadyExists) {
345-
return {CreateAlterExternalDataSource(id, tx)};
345+
return {CreateReplaceExternalDataSource(id, tx)};
346346
}
347347
}
348348

ydb/core/tx/schemeshard/schemeshard__operation_create_external_table.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ TVector<ISubOperation::TPtr> CreateNewExternalTable(TOperationId id, const TTxTr
397397
Y_ABORT_UNLESS(tx.GetOperationType() == NKikimrSchemeOp::ESchemeOpCreateExternalTable);
398398

399399
LOG_I("CreateNewExternalTable, opId " << id << ", feature flag EnableOrReplace "
400-
<< context.SS->EnableReplaceIfExists << ", tx "
400+
<< context.SS->EnableReplaceIfExistsForExternalEntities << ", tx "
401401
<< tx.ShortDebugString());
402402

403403
auto errorResult = [&id](NKikimrScheme::EStatus status, const TStringBuf& msg) -> TVector<ISubOperation::TPtr> {
@@ -408,8 +408,8 @@ TVector<ISubOperation::TPtr> CreateNewExternalTable(TOperationId id, const TTxTr
408408
const auto replaceIfExists = operation.GetReplaceIfExists();
409409
const TString& name = operation.GetName();
410410

411-
if (replaceIfExists && !context.SS->EnableReplaceIfExists) {
412-
return errorResult(NKikimrScheme::StatusPreconditionFailed, "Unsupported: feature flag EnableReplaceIfExists is off");
411+
if (replaceIfExists && !context.SS->EnableReplaceIfExistsForExternalEntities) {
412+
return errorResult(NKikimrScheme::StatusPreconditionFailed, "Unsupported: feature flag EnableReplaceIfExistsForExternalEntities is off");
413413
}
414414

415415
const TString& parentPathStr = tx.GetWorkingDir();
@@ -435,7 +435,7 @@ TVector<ISubOperation::TPtr> CreateNewExternalTable(TOperationId id, const TTxTr
435435
.IsResolved()
436436
.NotUnderDeleting();
437437
if (isAlreadyExists) {
438-
return {CreateAlterExternalTable(id, tx)};
438+
return {CreateReplaceExternalTable(id, tx)};
439439
}
440440
}
441441

ydb/core/tx/schemeshard/schemeshard__operation_part.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,9 @@ ISubOperation::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, TTxState::
371371
// Create
372372
TVector<ISubOperation::TPtr> CreateNewExternalTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context);
373373
ISubOperation::TPtr CreateNewExternalTable(TOperationId id, TTxState::ETxState state);
374-
// Alter
375-
ISubOperation::TPtr CreateAlterExternalTable(TOperationId id, const TTxTransaction& tx);
376-
ISubOperation::TPtr CreateAlterExternalTable(TOperationId id, TTxState::ETxState state);
374+
// Replace
375+
ISubOperation::TPtr CreateReplaceExternalTable(TOperationId id, const TTxTransaction& tx);
376+
ISubOperation::TPtr CreateReplaceExternalTable(TOperationId id, TTxState::ETxState state);
377377
// Drop
378378
ISubOperation::TPtr CreateDropExternalTable(TOperationId id, const TTxTransaction& tx);
379379
ISubOperation::TPtr CreateDropExternalTable(TOperationId id, TTxState::ETxState state);
@@ -382,9 +382,9 @@ ISubOperation::TPtr CreateDropExternalTable(TOperationId id, TTxState::ETxState
382382
// Create
383383
TVector<ISubOperation::TPtr> CreateNewExternalDataSource(TOperationId id, const TTxTransaction& tx, TOperationContext& context);
384384
ISubOperation::TPtr CreateNewExternalDataSource(TOperationId id, TTxState::ETxState state);
385-
// Alter
386-
ISubOperation::TPtr CreateAlterExternalDataSource(TOperationId id, const TTxTransaction& tx);
387-
ISubOperation::TPtr CreateAlterExternalDataSource(TOperationId id, TTxState::ETxState state);
385+
// Replace
386+
ISubOperation::TPtr CreateReplaceExternalDataSource(TOperationId id, const TTxTransaction& tx);
387+
ISubOperation::TPtr CreateReplaceExternalDataSource(TOperationId id, TTxState::ETxState state);
388388
// Drop
389389
ISubOperation::TPtr CreateDropExternalDataSource(TOperationId id, const TTxTransaction& tx);
390390
ISubOperation::TPtr CreateDropExternalDataSource(TOperationId id, TTxState::ETxState state);

ydb/core/tx/schemeshard/schemeshard__operation_alter_external_data_source.cpp renamed to ydb/core/tx/schemeshard/schemeshard__operation_replace_external_data_source.cpp

+13-13
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class TPropose: public TSubOperationState {
1616

1717
TString DebugHint() const override {
1818
return TStringBuilder()
19-
<< "TAlterExternalDataSource TPropose"
19+
<< "TReplaceExternalDataSource TPropose"
2020
<< ", operationId: " << OperationId;
2121
}
2222

@@ -34,7 +34,7 @@ class TPropose: public TSubOperationState {
3434

3535
const TTxState* txState = context.SS->FindTx(OperationId);
3636
Y_ABORT_UNLESS(txState);
37-
Y_ABORT_UNLESS(txState->TxType == TTxState::TxAlterExternalDataSource);
37+
Y_ABORT_UNLESS(txState->TxType == TTxState::TxReplaceExternalDataSource);
3838

3939
const auto pathId = txState->TargetPathId;
4040
const auto path = TPath::Init(pathId, context.SS);
@@ -56,14 +56,14 @@ class TPropose: public TSubOperationState {
5656

5757
const TTxState* txState = context.SS->FindTx(OperationId);
5858
Y_ABORT_UNLESS(txState);
59-
Y_ABORT_UNLESS(txState->TxType == TTxState::TxAlterExternalDataSource);
59+
Y_ABORT_UNLESS(txState->TxType == TTxState::TxReplaceExternalDataSource);
6060

6161
context.OnComplete.ProposeToCoordinator(OperationId, txState->TargetPathId, TStepId(0));
6262
return false;
6363
}
6464
};
6565

66-
class TAlterExternalDataSource : public TSubOperation {
66+
class TReplaceExternalDataSource : public TSubOperation {
6767
static TTxState::ETxState NextState() { return TTxState::Propose; }
6868

6969
TTxState::ETxState NextState(TTxState::ETxState state) const override {
@@ -152,7 +152,7 @@ class TAlterExternalDataSource : public TSubOperation {
152152
void CreateTransaction(const TOperationContext& context,
153153
const TPathId& externalDataSourcePathId) const {
154154
TTxState& txState = context.SS->CreateTx(OperationId,
155-
TTxState::TxAlterExternalDataSource,
155+
TTxState::TxReplaceExternalDataSource,
156156
externalDataSourcePathId);
157157
txState.Shards.clear();
158158
}
@@ -207,7 +207,7 @@ class TAlterExternalDataSource : public TSubOperation {
207207
Transaction.GetCreateExternalDataSource();
208208
const TString& name = externalDataSourceDescription.GetName();
209209

210-
LOG_N("TAlterExternalDataSource Propose"
210+
LOG_N("TReplaceExternalDataSource Propose"
211211
<< ": opId# " << OperationId << ", path# " << parentPathStr << "/" << name);
212212

213213
auto result = MakeHolder<TProposeResponse>(NKikimrScheme::StatusAccepted,
@@ -258,13 +258,13 @@ class TAlterExternalDataSource : public TSubOperation {
258258
}
259259

260260
void AbortPropose(TOperationContext& context) override {
261-
LOG_N("TAlterExternalDataSource AbortPropose"
261+
LOG_N("TReplaceExternalDataSource AbortPropose"
262262
<< ": opId# " << OperationId);
263-
Y_ABORT("no AbortPropose for TAlterExternalDataSource");
263+
Y_ABORT("no AbortPropose for TReplaceExternalDataSource");
264264
}
265265

266266
void AbortUnsafe(TTxId forceDropTxId, TOperationContext& context) override {
267-
LOG_N("TAlterExternalDataSource AbortUnsafe"
267+
LOG_N("TReplaceExternalDataSource AbortUnsafe"
268268
<< ": opId# " << OperationId << ", txId# " << forceDropTxId);
269269
context.OnComplete.DoneOperation(OperationId);
270270
}
@@ -274,13 +274,13 @@ class TAlterExternalDataSource : public TSubOperation {
274274

275275
namespace NKikimr::NSchemeShard {
276276

277-
ISubOperation::TPtr CreateAlterExternalDataSource(TOperationId id, const TTxTransaction& tx) {
278-
return MakeSubOperation<TAlterExternalDataSource>(id, tx);
277+
ISubOperation::TPtr CreateReplaceExternalDataSource(TOperationId id, const TTxTransaction& tx) {
278+
return MakeSubOperation<TReplaceExternalDataSource>(id, tx);
279279
}
280280

281-
ISubOperation::TPtr CreateAlterExternalDataSource(TOperationId id, TTxState::ETxState state) {
281+
ISubOperation::TPtr CreateReplaceExternalDataSource(TOperationId id, TTxState::ETxState state) {
282282
Y_ABORT_UNLESS(state != TTxState::Invalid);
283-
return MakeSubOperation<TAlterExternalDataSource>(id, state);
283+
return MakeSubOperation<TReplaceExternalDataSource>(id, state);
284284
}
285285

286286
}

ydb/core/tx/schemeshard/schemeshard__operation_alter_external_table.cpp renamed to ydb/core/tx/schemeshard/schemeshard__operation_replace_external_table.cpp

+13-13
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TPropose: public TSubOperationState {
1818

1919
TString DebugHint() const override {
2020
return TStringBuilder()
21-
<< "TAlterExternalTable TPropose"
21+
<< "TReplaceExternalTable TPropose"
2222
<< ", operationId: " << OperationId;
2323
}
2424

@@ -59,7 +59,7 @@ class TPropose: public TSubOperationState {
5959

6060
const TTxState* txState = context.SS->FindTx(OperationId);
6161
Y_ABORT_UNLESS(txState);
62-
Y_ABORT_UNLESS(txState->TxType == TTxState::TxAlterExternalTable);
62+
Y_ABORT_UNLESS(txState->TxType == TTxState::TxReplaceExternalTable);
6363

6464
const auto pathId = txState->TargetPathId;
6565
const auto dataSourcePathId = txState->SourcePathId;
@@ -88,15 +88,15 @@ class TPropose: public TSubOperationState {
8888

8989
const TTxState* txState = context.SS->FindTx(OperationId);
9090
Y_ABORT_UNLESS(txState);
91-
Y_ABORT_UNLESS(txState->TxType == TTxState::TxAlterExternalTable);
91+
Y_ABORT_UNLESS(txState->TxType == TTxState::TxReplaceExternalTable);
9292

9393
context.OnComplete.ProposeToCoordinator(OperationId, txState->TargetPathId, TStepId(0));
9494
return false;
9595
}
9696
};
9797

9898

99-
class TAltertExternalTable: public TSubOperation {
99+
class TReplacetExternalTable: public TSubOperation {
100100
private:
101101
bool IsSameDataSource = true;
102102
TPathId OldDataSourcePathId = InvalidPathId;
@@ -220,7 +220,7 @@ class TAltertExternalTable: public TSubOperation {
220220
const TPathId& externalTablePathId,
221221
const TPathId& externalDataSourcePathId) const {
222222
TTxState& txState = context.SS->CreateTx(OperationId,
223-
TTxState::TxAlterExternalTable,
223+
TTxState::TxReplaceExternalTable,
224224
externalTablePathId,
225225
externalDataSourcePathId);
226226
txState.Shards.clear();
@@ -301,7 +301,7 @@ class TAltertExternalTable: public TSubOperation {
301301
const auto& externalTableDescription = Transaction.GetCreateExternalTable();
302302
const TString& name = externalTableDescription.GetName();
303303

304-
LOG_N("TAlterExternalTable Propose"
304+
LOG_N("TReplaceExternalTable Propose"
305305
<< ": opId# " << OperationId
306306
<< ", path# " << parentPathStr << "/" << name << ", ReplaceIfExists:" << externalTableDescription.GetReplaceIfExists());
307307

@@ -392,13 +392,13 @@ class TAltertExternalTable: public TSubOperation {
392392
}
393393

394394
void AbortPropose(TOperationContext& context) override {
395-
LOG_N("TAlterExternalTable AbortPropose"
395+
LOG_N("TReplaceExternalTable AbortPropose"
396396
<< ": opId# " << OperationId);
397-
Y_ABORT("no AbortPropose for TAlterExternalTable");
397+
Y_ABORT("no AbortPropose for TReplaceExternalTable");
398398
}
399399

400400
void AbortUnsafe(TTxId forceDropTxId, TOperationContext& context) override {
401-
LOG_N("TAlterExternalTable AbortUnsafe"
401+
LOG_N("TReplaceExternalTable AbortUnsafe"
402402
<< ": opId# " << OperationId
403403
<< ", txId# " << forceDropTxId);
404404
context.OnComplete.DoneOperation(OperationId);
@@ -409,13 +409,13 @@ class TAltertExternalTable: public TSubOperation {
409409

410410
namespace NKikimr::NSchemeShard {
411411

412-
ISubOperation::TPtr CreateAlterExternalTable(TOperationId id, const TTxTransaction& tx) {
413-
return MakeSubOperation<TAltertExternalTable>(std::move(id), tx);
412+
ISubOperation::TPtr CreateReplaceExternalTable(TOperationId id, const TTxTransaction& tx) {
413+
return MakeSubOperation<TReplacetExternalTable>(std::move(id), tx);
414414
}
415415

416-
ISubOperation::TPtr CreateAlterExternalTable(TOperationId id, TTxState::ETxState state) {
416+
ISubOperation::TPtr CreateReplaceExternalTable(TOperationId id, TTxState::ETxState state) {
417417
Y_ABORT_UNLESS(state != TTxState::Invalid);
418-
return MakeSubOperation<TAltertExternalTable>(std::move(id), state);
418+
return MakeSubOperation<TReplacetExternalTable>(std::move(id), state);
419419
}
420420

421421
}

ydb/core/tx/schemeshard/schemeshard_audit_log_fragment.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -208,12 +208,14 @@ TString DefineUserOperationName(const NKikimrSchemeOp::TModifyScheme& tx) {
208208
return "ALTER BLOB DEPOT";
209209
case NKikimrSchemeOp::EOperationType::ESchemeOpDropBlobDepot:
210210
return "DROP BLOB DEPOT";
211+
case NKikimrSchemeOp::EOperationType::ESchemeOpReplaceExternalTable:
211212
case NKikimrSchemeOp::EOperationType::ESchemeOpCreateExternalTable:
212213
return "CREATE EXTERNAL TABLE";
213214
case NKikimrSchemeOp::EOperationType::ESchemeOpDropExternalTable:
214215
return "DROP EXTERNAL TABLE";
215216
case NKikimrSchemeOp::EOperationType::ESchemeOpAlterExternalTable:
216217
return "ALTER EXTERNAL TABLE";
218+
case NKikimrSchemeOp::EOperationType::ESchemeOpReplaceExternalDataSource:
217219
case NKikimrSchemeOp::EOperationType::ESchemeOpCreateExternalDataSource:
218220
return "CREATE EXTERNAL DATA SOURCE";
219221
case NKikimrSchemeOp::EOperationType::ESchemeOpDropExternalDataSource:
@@ -487,6 +489,7 @@ TVector<TString> ExtractChangingPaths(const NKikimrSchemeOp::TModifyScheme& tx)
487489
result.emplace_back(NKikimr::JoinPath({tx.GetMoveIndex().GetTablePath(), tx.GetMoveIndex().GetSrcPath()}));
488490
result.emplace_back(NKikimr::JoinPath({tx.GetMoveIndex().GetTablePath(), tx.GetMoveIndex().GetDstPath()}));
489491
break;
492+
case NKikimrSchemeOp::EOperationType::ESchemeOpReplaceExternalTable:
490493
case NKikimrSchemeOp::EOperationType::ESchemeOpCreateExternalTable:
491494
result.emplace_back(NKikimr::JoinPath({tx.GetWorkingDir(), tx.GetCreateExternalTable().GetName()}));
492495
break;
@@ -496,6 +499,7 @@ TVector<TString> ExtractChangingPaths(const NKikimrSchemeOp::TModifyScheme& tx)
496499
case NKikimrSchemeOp::EOperationType::ESchemeOpAlterExternalTable:
497500
// TODO: unimplemented
498501
break;
502+
case NKikimrSchemeOp::EOperationType::ESchemeOpReplaceExternalDataSource:
499503
case NKikimrSchemeOp::EOperationType::ESchemeOpCreateExternalDataSource:
500504
result.emplace_back(NKikimr::JoinPath({tx.GetWorkingDir(), tx.GetCreateExternalDataSource().GetName()}));
501505
break;
@@ -636,7 +640,7 @@ TAuditLogFragment MakeAuditLogFragment(const NKikimrSchemeOp::TModifyScheme& tx)
636640
auto [aclAdd, aclRemove] = ExtractACLChange(tx);
637641
auto [userAttrsAdd, userAttrsRemove] = ExtractUserAttrChange(tx);
638642
auto [loginUser, loginGroup, loginMember] = ExtractLoginChange(tx);
639-
643+
640644
return {
641645
.Operation = DefineUserOperationName(tx),
642646
.Paths = ExtractChangingPaths(tx),

0 commit comments

Comments
 (0)