diff options
author | ilnaz <[email protected]> | 2023-02-16 14:17:25 +0300 |
---|---|---|
committer | ilnaz <[email protected]> | 2023-02-16 14:17:25 +0300 |
commit | 4259239995680378f1e2e6eac191217504fe1619 (patch) | |
tree | a7c22a9eeb33ad96ac9cf12a33d39b3d3a6ac2ee | |
parent | 90b64a59441b2bdb7f934ecbb4acfaa75e03e78c (diff) |
(refactoring) Basic ISubOperationState, ISubOperationBase -> ISubOperation
78 files changed, 483 insertions, 494 deletions
diff --git a/ydb/core/tx/schemeshard/schemeshard__init.cpp b/ydb/core/tx/schemeshard/schemeshard__init.cpp index 4554fc8ec78..9a9fa7b8ee3 100644 --- a/ydb/core/tx/schemeshard/schemeshard__init.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__init.cpp @@ -3426,7 +3426,7 @@ struct TSchemeShard::TTxInit : public TTransactionBase<TSchemeShard> { TOperation::TPtr operation = Self->Operations.at(operationId.GetTxId()); Y_VERIFY(operationId.GetSubTxId() == operation->Parts.size()); - ISubOperationBase::TPtr part = operation->RestorePart(txState.TxType, txState.State); + ISubOperation::TPtr part = operation->RestorePart(txState.TxType, txState.State); operation->AddPart(part); if (!txInFlightRowset.Next()) diff --git a/ydb/core/tx/schemeshard/schemeshard__operation.cpp b/ydb/core/tx/schemeshard/schemeshard__operation.cpp index b439e71e70a..a2e1d72ecb3 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation.cpp @@ -97,7 +97,7 @@ struct TSchemeShard::TTxOperationProposeCancelTx: public NTabletFlatExecutor::TT txc.DB.NoMoreReadsForTx(); - ISubOperationBase::TPtr part = CreateTxCancelTx(Ev); + ISubOperation::TPtr part = CreateTxCancelTx(Ev); TOperationContext context{Self, txc, ctx, OnComplete, MemChanges, DbChanges}; auto fakeResponse = part->Propose(TString(), context); Y_UNUSED(fakeResponse); @@ -360,7 +360,7 @@ struct TSchemeShard::TTxOperationProgress: public NTabletFlatExecutor::TTransact return true; } - ISubOperationBase::TPtr part = operation->Parts.at(ui64(OpId.GetSubTxId())); + ISubOperation::TPtr part = operation->Parts.at(ui64(OpId.GetSubTxId())); TOperationContext context{Self, txc, ctx, OnComplete, MemChanges, DbChanges}; @@ -405,7 +405,7 @@ struct TSchemeShard::TTxOperationReply {}; "TTxOperationReply<" #TEvType "> execute " \ << ", operationId: " << OperationId \ << ", at schemeshard: " << Self->TabletID() \ - << ", message: " << IOperationBase::DebugReply(EvReply)); \ + << ", message: " << ISubOperationState::DebugReply(EvReply)); \ if (!Self->Operations.contains(OperationId.GetTxId())) { \ return true; \ } \ @@ -418,7 +418,7 @@ struct TSchemeShard::TTxOperationReply {}; << ", at schemeshard: " << Self->TabletID()); \ return true; \ } \ - ISubOperationBase::TPtr part = operation->Parts.at(ui64(OperationId.GetSubTxId())); \ + ISubOperation::TPtr part = operation->Parts.at(ui64(OperationId.GetSubTxId())); \ TOperationContext context{Self, txc, ctx, OnComplete, MemChanges, DbChanges}; \ Y_VERIFY(EvReply); \ part->HandleReply(EvReply, context); \ @@ -842,7 +842,7 @@ TOperation::TSplitTransactionsResult TOperation::SplitIntoTransactions(const TTx return result; } -ISubOperationBase::TPtr TOperation::RestorePart(TTxState::ETxType txType, TTxState::ETxState txState) const { +ISubOperation::TPtr TOperation::RestorePart(TTxState::ETxType txType, TTxState::ETxState txState) const { switch (txType) { case TTxState::ETxType::TxMkDir: return CreateMkDir(NextPartId(), txState); @@ -1026,7 +1026,7 @@ ISubOperationBase::TPtr TOperation::RestorePart(TTxState::ETxType txType, TTxSta Y_UNREACHABLE(); } -ISubOperationBase::TPtr TOperation::ConstructPart(NKikimrSchemeOp::EOperationType opType, const TTxTransaction& tx) const { +ISubOperation::TPtr TOperation::ConstructPart(NKikimrSchemeOp::EOperationType opType, const TTxTransaction& tx) const { switch (opType) { case NKikimrSchemeOp::EOperationType::ESchemeOpMkDir: return CreateMkDir(NextPartId(), tx); @@ -1232,7 +1232,7 @@ ISubOperationBase::TPtr TOperation::ConstructPart(NKikimrSchemeOp::EOperationTyp Y_UNREACHABLE(); } -TVector<ISubOperationBase::TPtr> TOperation::ConstructParts(const TTxTransaction& tx, TOperationContext& context) const { +TVector<ISubOperation::TPtr> TOperation::ConstructParts(const TTxTransaction& tx, TOperationContext& context) const { const auto& opType = tx.GetOperationType(); switch (opType) { @@ -1278,7 +1278,7 @@ TVector<ISubOperationBase::TPtr> TOperation::ConstructParts(const TTxTransaction } } -void TOperation::AddPart(ISubOperationBase::TPtr part) { +void TOperation::AddPart(ISubOperation::TPtr part) { Parts.push_back(part); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation.h b/ydb/core/tx/schemeshard/schemeshard__operation.h index 7bbd05c2c7b..15ebd10631e 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation.h +++ b/ydb/core/tx/schemeshard/schemeshard__operation.h @@ -11,7 +11,7 @@ struct TOperation: TSimpleRefCount<TOperation> { using TPtr = TIntrusivePtr<TOperation>; const TTxId TxId; - TVector<ISubOperationBase::TPtr> Parts; + TVector<ISubOperation::TPtr> Parts; THashSet<TActorId> Subscribers; THashSet<TTxId> DependentOperations; @@ -79,10 +79,10 @@ struct TOperation: TSimpleRefCount<TOperation> { static TConsumeQuotaResult ConsumeQuota(const TTxTransaction& tx, TOperationContext& context); static TSplitTransactionsResult SplitIntoTransactions(const TTxTransaction& tx, const TOperationContext& context); - ISubOperationBase::TPtr RestorePart(TTxState::ETxType opType, TTxState::ETxState opState) const; - ISubOperationBase::TPtr ConstructPart(NKikimrSchemeOp::EOperationType opType, const TTxTransaction& tx) const; - TVector<ISubOperationBase::TPtr> ConstructParts(const TTxTransaction& tx, TOperationContext& context) const; - void AddPart(ISubOperationBase::TPtr part); + ISubOperation::TPtr RestorePart(TTxState::ETxType opType, TTxState::ETxState opState) const; + ISubOperation::TPtr ConstructPart(NKikimrSchemeOp::EOperationType opType, const TTxTransaction& tx) const; + TVector<ISubOperation::TPtr> ConstructParts(const TTxTransaction& tx, TOperationContext& context) const; + void AddPart(ISubOperation::TPtr part); bool AddPublishingPath(TPathId pathId, ui64 version); bool IsPublished() const; @@ -149,7 +149,7 @@ struct TOperation: TSimpleRefCount<TOperation> { } }; -inline TOperationId NextPartId(const TOperationId& opId, const TVector<ISubOperationBase::TPtr>& parts) { +inline TOperationId NextPartId(const TOperationId& opId, const TVector<ISubOperation::TPtr>& parts) { return TOperationId(opId.GetTxId(), opId.GetSubTxId() + parts.size()); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_allocate_pq.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_allocate_pq.cpp index c898dd3c8e9..f39bc266adf 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_allocate_pq.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_allocate_pq.cpp @@ -488,11 +488,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAllocatePQ(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAllocatePQ(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAllocatePQ>(id, tx); } -ISubOperationBase::TPtr CreateAllocatePQ(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAllocatePQ(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAllocatePQ>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_bsv.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_bsv.cpp index 3ba0b1cbc82..b093866373a 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_bsv.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_bsv.cpp @@ -635,11 +635,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterBSV(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterBSV(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterBlockStoreVolume>(id, tx); } -ISubOperationBase::TPtr CreateAlterBSV(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterBSV(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterBlockStoreVolume>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_cdc_stream.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_cdc_stream.cpp index 754f1efe4f5..fe66156e886 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_cdc_stream.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_cdc_stream.cpp @@ -469,23 +469,23 @@ private: } // anonymous -ISubOperationBase::TPtr CreateAlterCdcStreamImpl(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterCdcStreamImpl(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterCdcStream>(id, tx); } -ISubOperationBase::TPtr CreateAlterCdcStreamImpl(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterCdcStreamImpl(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TAlterCdcStream>(id, state); } -ISubOperationBase::TPtr CreateAlterCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot) { +ISubOperation::TPtr CreateAlterCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot) { return MakeSubOperation<TAlterCdcStreamAtTable>(id, tx, dropSnapshot); } -ISubOperationBase::TPtr CreateAlterCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot) { +ISubOperation::TPtr CreateAlterCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot) { return MakeSubOperation<TAlterCdcStreamAtTable>(id, state, dropSnapshot); } -TVector<ISubOperationBase::TPtr> CreateAlterCdcStream(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateAlterCdcStream(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpAlterCdcStream); LOG_D("CreateAlterCdcStream" @@ -542,7 +542,7 @@ TVector<ISubOperationBase::TPtr> CreateAlterCdcStream(TOperationId opId, const T return {CreateReject(opId, NKikimrScheme::StatusMultipleModifications, errStr)}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto outTx = TransactionTemplate(tablePath.PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpAlterCdcStreamImpl); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_extsubdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_extsubdomain.cpp index ef90dc85a74..cdb070e4f00 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_extsubdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_extsubdomain.cpp @@ -870,25 +870,25 @@ public: } // anonymous namespace -ISubOperationBase::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterExtSubDomainCreateHive>(id, tx); } -ISubOperationBase::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterExtSubDomainCreateHive>(id, state); } -ISubOperationBase::TPtr CreateAlterExtSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterExtSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterExtSubDomain>(id, tx); } -ISubOperationBase::TPtr CreateAlterExtSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterExtSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterExtSubDomain>(id, state); } -TVector<ISubOperationBase::TPtr> CreateCompatibleAlterExtSubDomain(TOperationId id, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateCompatibleAlterExtSubDomain(TOperationId id, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::ESchemeOpAlterExtSubDomain); LOG_I("CreateCompatibleAlterExtSubDomain, opId " << id @@ -902,7 +902,7 @@ TVector<ISubOperationBase::TPtr> CreateCompatibleAlterExtSubDomain(TOperationId LOG_I("CreateCompatibleAlterExtSubDomain, opId " << id << ", path " << parentPathStr << "/" << name); - auto errorResult = [&id](NKikimrScheme::EStatus status, const TStringBuf& msg) -> TVector<ISubOperationBase::TPtr> { + auto errorResult = [&id](NKikimrScheme::EStatus status, const TStringBuf& msg) -> TVector<ISubOperation::TPtr> { return {CreateReject(id, status, TStringBuilder() << "Invalid AlterExtSubDomain request: " << msg)}; }; @@ -963,7 +963,7 @@ TVector<ISubOperationBase::TPtr> CreateCompatibleAlterExtSubDomain(TOperationId } // create suboperations - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; if (delta.AddExternalHive && context.SS->EnableAlterDatabaseCreateHiveFirst) { auto msg = TransactionTemplate(parentPathStr, NKikimrSchemeOp::ESchemeOpAlterExtSubDomainCreateHive); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_fs.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_fs.cpp index 191856bf7ae..47eb1b6d9cb 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_fs.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_fs.cpp @@ -533,11 +533,11 @@ void TAlterFileStore::ApplyChannelBindings( namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterFileStore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterFileStore(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterFileStore>(id, tx); } -ISubOperationBase::TPtr CreateAlterFileStore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterFileStore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterFileStore>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_index.cpp index 9df6b0df404..06dd6545f79 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_index.cpp @@ -229,11 +229,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterTableIndex(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterTableIndex(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterTableIndex>(id, tx); } -ISubOperationBase::TPtr CreateAlterTableIndex(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterTableIndex(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TAlterTableIndex>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_kesus.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_kesus.cpp index e4c665049d3..5b875bcbd6f 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_kesus.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_kesus.cpp @@ -362,11 +362,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterKesus(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterKesus(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterKesus>(id, tx); } -ISubOperationBase::TPtr CreateAlterKesus(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterKesus(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterKesus>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_login.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_login.cpp index 3893797ecc5..71016e43d01 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_login.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_login.cpp @@ -150,7 +150,7 @@ public: Y_FAIL("no AbortPropose for TAlterLogin"); } - void ProgressState(TOperationContext&) override { + bool ProgressState(TOperationContext&) override { Y_FAIL("no progress state for TAlterLogin"); } @@ -163,11 +163,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterLogin(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterLogin(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterLogin>(id, tx); } -ISubOperationBase::TPtr CreateAlterLogin(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterLogin(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state == TTxState::Invalid || state == TTxState::Propose); return MakeSubOperation<TAlterLogin>(id); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_store.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_store.cpp index af062313a5e..3ae45674d72 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_store.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_store.cpp @@ -686,11 +686,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterOlapStore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterOlapStore(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterOlapStore>(id, tx); } -ISubOperationBase::TPtr CreateAlterOlapStore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterOlapStore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterOlapStore>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_table.cpp index 1cf1c24aa1d..2af196cc3ab 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_olap_table.cpp @@ -574,11 +574,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterColumnTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterColumnTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterColumnTable>(id, tx); } -ISubOperationBase::TPtr CreateAlterColumnTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterColumnTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterColumnTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_pq.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_pq.cpp index 729e50e4dc0..35656404cda 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_pq.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_pq.cpp @@ -625,11 +625,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterPQ(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterPQ(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterPQ>(id, tx); } -ISubOperationBase::TPtr CreateAlterPQ(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterPQ(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterPQ>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_solomon.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_solomon.cpp index 1c46c007334..0fd8e914c1c 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_solomon.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_solomon.cpp @@ -349,11 +349,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterSolomon(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterSolomon(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterSolomon>(id, tx); } -ISubOperationBase::TPtr CreateAlterSolomon(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterSolomon(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterSolomon>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_subdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_subdomain.cpp index 8d4a0273965..39000ffb623 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_subdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_subdomain.cpp @@ -343,11 +343,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterSubDomain>(id, tx); } -ISubOperationBase::TPtr CreateAlterSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterSubDomain>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_table.cpp index c4342bf53e6..e24350ae303 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_table.cpp @@ -590,29 +590,29 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterTable>(id, tx); } -ISubOperationBase::TPtr CreateAlterTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TAlterTable>(id, state); } -ISubOperationBase::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx) { auto obj = MakeHolder<TAlterTable>(id, tx); obj->SetAllowShadowDataForBuildIndex(); return obj.Release(); } -ISubOperationBase::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); auto obj = MakeHolder<TAlterTable>(id, state); obj->SetAllowShadowDataForBuildIndex(); return obj.Release(); } -TVector<ISubOperationBase::TPtr> CreateConsistentAlterTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateConsistentAlterTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpAlterTable); auto alter = tx.GetAlterTable(); @@ -651,7 +651,7 @@ TVector<ISubOperationBase::TPtr> CreateConsistentAlterTable(TOperationId id, con return {CreateAlterTable(id, tx)}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; // only for super user use // until correct and safe altering index api is released diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_alter_user_attrs.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_alter_user_attrs.cpp index 1fa6e95291c..a8cb2e3d898 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_alter_user_attrs.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_alter_user_attrs.cpp @@ -90,7 +90,7 @@ public: Y_FAIL("no AbortPropose for TAlterUserAttrs"); } - void ProgressState(TOperationContext& context) override { + bool ProgressState(TOperationContext& context) override { LOG_INFO_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, "TAlterUserAttrs ProgressState" << ", opId: " << OperationId @@ -100,9 +100,10 @@ public: Y_VERIFY(txState); context.OnComplete.ProposeToCoordinator(OperationId, txState->TargetPathId, TStepId(0)); + return true; } - void HandleReply(TEvPrivate::TEvOperationPlan::TPtr& ev, TOperationContext& context) override { + bool HandleReply(TEvPrivate::TEvOperationPlan::TPtr& ev, TOperationContext& context) override { const TStepId step = TStepId(ev->Get()->StepId); const TTabletId ssId = context.SS->SelfTabletId(); @@ -120,7 +121,7 @@ public: "Duplicate PlanStep opId#" << OperationId << " at schemeshard: " << ssId << " txState is in state#" << TTxState::StateName(txState->State)); - return; + return true; } Y_VERIFY(txState->TxType == TTxState::TxAlterUserAttributes); @@ -142,6 +143,7 @@ public: context.OnComplete.UpdateTenants({pathId}); context.OnComplete.DoneOperation(OperationId); + return true; } void AbortUnsafe(TTxId forceDropTxId, TOperationContext& context) override { @@ -159,11 +161,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAlterUserAttrs(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAlterUserAttrs(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAlterUserAttrs>(id, tx); } -ISubOperationBase::TPtr CreateAlterUserAttrs(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAlterUserAttrs(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state == TTxState::Invalid || state == TTxState::Propose); return MakeSubOperation<TAlterUserAttrs>(id); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp index b72b5aae68f..06f5bc5b133 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp @@ -14,7 +14,7 @@ namespace NKikimr { namespace NSchemeShard { -TVector<ISubOperationBase::TPtr> ApplyBuildIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> ApplyBuildIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpApplyIndexBuild); auto config = tx.GetApplyIndexBuild(); @@ -32,7 +32,7 @@ TVector<ISubOperationBase::TPtr> ApplyBuildIndex(TOperationId nextId, const TTxT //check limits - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto finalize = TransactionTemplate(table.Parent().PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpFinalizeBuildIndexMainTable); @@ -70,7 +70,7 @@ TVector<ISubOperationBase::TPtr> ApplyBuildIndex(TOperationId nextId, const TTxT return result; } -TVector<ISubOperationBase::TPtr> CancelBuildIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CancelBuildIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpCancelIndexBuild); auto config = tx.GetCancelIndexBuild(); @@ -84,7 +84,7 @@ TVector<ISubOperationBase::TPtr> CancelBuildIndex(TOperationId nextId, const TTx //check limits - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto finalize = TransactionTemplate(table.Parent().PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpFinalizeBuildIndexMainTable); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_assign_bsv.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_assign_bsv.cpp index 15f0cf85e21..c58b716daa6 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_assign_bsv.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_assign_bsv.cpp @@ -88,7 +88,7 @@ public: Y_FAIL("no AbortPropose for TAssignBlockStoreVolume"); } - void ProgressState(TOperationContext&) override { + bool ProgressState(TOperationContext&) override { Y_FAIL("no progress state for assign bsc"); } @@ -101,11 +101,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateAssignBSV(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateAssignBSV(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TAssignBlockStoreVolume>(id, tx); } -ISubOperationBase::TPtr CreateAssignBSV(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateAssignBSV(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state == TTxState::Invalid || state == TTxState::Propose); return MakeSubOperation<TAssignBlockStoreVolume>(id); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_blob_depot.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_blob_depot.cpp index abad0724895..a49ee84d95f 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_blob_depot.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_blob_depot.cpp @@ -426,11 +426,11 @@ namespace NKikimr::NSchemeShard { } - ISubOperationBase::TPtr CreateNewBlobDepot(TOperationId id, const TTxTransaction& tx) { return MakeIntrusive<TBlobDepot>(EAction::Create, id, tx); } - ISubOperationBase::TPtr CreateNewBlobDepot(TOperationId id, TTxState::ETxState state) { return MakeIntrusive<TBlobDepot>(EAction::Create, id, state); } - ISubOperationBase::TPtr CreateAlterBlobDepot(TOperationId id, const TTxTransaction& tx) { return MakeIntrusive<TBlobDepot>(EAction::Alter, id, tx); } - ISubOperationBase::TPtr CreateAlterBlobDepot(TOperationId id, TTxState::ETxState state) { return MakeIntrusive<TBlobDepot>(EAction::Alter, id, state); } - ISubOperationBase::TPtr CreateDropBlobDepot(TOperationId id, const TTxTransaction& tx) { return MakeIntrusive<TBlobDepot>(EAction::Drop, id, tx); } - ISubOperationBase::TPtr CreateDropBlobDepot(TOperationId id, TTxState::ETxState state) { return MakeIntrusive<TBlobDepot>(EAction::Drop, id, state); } + ISubOperation::TPtr CreateNewBlobDepot(TOperationId id, const TTxTransaction& tx) { return MakeIntrusive<TBlobDepot>(EAction::Create, id, tx); } + ISubOperation::TPtr CreateNewBlobDepot(TOperationId id, TTxState::ETxState state) { return MakeIntrusive<TBlobDepot>(EAction::Create, id, state); } + ISubOperation::TPtr CreateAlterBlobDepot(TOperationId id, const TTxTransaction& tx) { return MakeIntrusive<TBlobDepot>(EAction::Alter, id, tx); } + ISubOperation::TPtr CreateAlterBlobDepot(TOperationId id, TTxState::ETxState state) { return MakeIntrusive<TBlobDepot>(EAction::Alter, id, state); } + ISubOperation::TPtr CreateDropBlobDepot(TOperationId id, const TTxTransaction& tx) { return MakeIntrusive<TBlobDepot>(EAction::Drop, id, tx); } + ISubOperation::TPtr CreateDropBlobDepot(TOperationId id, TTxState::ETxState state) { return MakeIntrusive<TBlobDepot>(EAction::Drop, id, state); } } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_cancel_tx.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_cancel_tx.cpp index ba6f13530bc..0cbb23cfc9b 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_cancel_tx.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_cancel_tx.cpp @@ -6,7 +6,7 @@ namespace { using namespace NKikimr; using namespace NSchemeShard; -class TTxCancelTx: public ISubOperationBase { +class TTxCancelTx: public ISubOperation { const TOperationId OperationId; const TOperationId TargetOperationId; const TActorId Sender; @@ -79,7 +79,7 @@ public: Y_FAIL("no AbortPropose for TTxCancelTx"); } - void ProgressState(TOperationContext&) override { + bool ProgressState(TOperationContext&) override { Y_FAIL("no progress state for cancel tx"); } @@ -92,7 +92,7 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateTxCancelTx(TEvSchemeShard::TEvCancelTx::TPtr ev) { +ISubOperation::TPtr CreateTxCancelTx(TEvSchemeShard::TEvCancelTx::TPtr ev) { return new TTxCancelTx(ev); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_consistent_copy_tables.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_consistent_copy_tables.cpp index 1410a10f61f..30851f78202 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_consistent_copy_tables.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_consistent_copy_tables.cpp @@ -47,7 +47,7 @@ NKikimrSchemeOp::TModifyScheme CreateIndexTask(NKikimr::NSchemeShard::TTableInde namespace NKikimr::NSchemeShard { -TVector<ISubOperationBase::TPtr> CreateConsistentCopyTables(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateConsistentCopyTables(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpCreateConsistentCopyTables); const auto& op = tx.GetCreateConsistentCopyTables(); @@ -92,7 +92,7 @@ TVector<ISubOperationBase::TPtr> CreateConsistentCopyTables(TOperationId nextId, return {CreateReject(nextId, NKikimrScheme::EStatus::StatusPreconditionFailed, errStr)}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; for (const auto& descr: op.GetCopyTableDescriptions()) { const auto& srcStr = descr.GetSrcPath(); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_copy_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_copy_table.cpp index 83d0925e0a2..d18ad5a4398 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_copy_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_copy_table.cpp @@ -623,16 +623,16 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateCopyTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateCopyTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCopyTable>(id, tx); } -ISubOperationBase::TPtr CreateCopyTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateCopyTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCopyTable>(id, state); } -TVector<ISubOperationBase::TPtr> CreateCopyTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateCopyTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpCreateTable); auto copying = tx.GetCreateTable(); @@ -659,7 +659,7 @@ TVector<ISubOperationBase::TPtr> CreateCopyTable(TOperationId nextId, const TTxT TPath workDir = TPath::Resolve(tx.GetWorkingDir(), context.SS); TPath dstPath = workDir.Child(copying.GetName()); - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto schema = TransactionTemplate(tx.GetWorkingDir(), NKikimrSchemeOp::EOperationType::ESchemeOpCreateTable); schema.SetFailOnExist(tx.GetFailOnExist()); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_backup.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_backup.cpp index 1e10b1cb8ef..8464c4c9427 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_backup.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_backup.cpp @@ -95,13 +95,13 @@ struct TBackup { } }; -ISubOperationBase::TPtr CreateBackup(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateBackup(TOperationId id, const TTxTransaction& tx) { return new TBackupRestoreOperationBase<TBackup, TEvDataShard::TEvCancelBackup>( TTxState::TxBackup, TPathElement::EPathState::EPathStateBackup, id, tx ); } -ISubOperationBase::TPtr CreateBackup(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateBackup(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return new TBackupRestoreOperationBase<TBackup, TEvDataShard::TEvCancelBackup>( TTxState::TxBackup, TPathElement::EPathState::EPathStateBackup, id, state diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_bsv.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_bsv.cpp index 79e18f2f915..550eeaae973 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_bsv.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_bsv.cpp @@ -388,11 +388,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewBSV(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewBSV(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateBlockStoreVolume>(id, tx); } -ISubOperationBase::TPtr CreateNewBSV(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewBSV(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateBlockStoreVolume>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_build_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_build_index.cpp index 612dce46091..3de0ea098ff 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_build_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_build_index.cpp @@ -9,7 +9,7 @@ namespace NKikimr::NSchemeShard { -TVector<ISubOperationBase::TPtr> CreateBuildIndex(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateBuildIndex(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpCreateIndexBuild); const auto& op = tx.GetInitiateIndexBuild(); @@ -62,7 +62,7 @@ TVector<ISubOperationBase::TPtr> CreateBuildIndex(TOperationId opId, const TTxTr return {CreateReject(opId, status, errStr)}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto outTx = TransactionTemplate(table.PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpCreateTableIndex); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_cdc_stream.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_cdc_stream.cpp index 95c1c2f32ec..31a6d5d6e7d 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_cdc_stream.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_cdc_stream.cpp @@ -557,23 +557,23 @@ private: } // anonymous -ISubOperationBase::TPtr CreateNewCdcStreamImpl(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewCdcStreamImpl(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TNewCdcStream>(id, tx); } -ISubOperationBase::TPtr CreateNewCdcStreamImpl(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewCdcStreamImpl(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TNewCdcStream>(id, state); } -ISubOperationBase::TPtr CreateNewCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool initialScan) { +ISubOperation::TPtr CreateNewCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool initialScan) { return MakeSubOperation<TNewCdcStreamAtTable>(id, tx, initialScan); } -ISubOperationBase::TPtr CreateNewCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool initialScan) { +ISubOperation::TPtr CreateNewCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool initialScan) { return MakeSubOperation<TNewCdcStreamAtTable>(id, state, initialScan); } -TVector<ISubOperationBase::TPtr> CreateNewCdcStream(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateNewCdcStream(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpCreateCdcStream); LOG_D("CreateNewCdcStream" @@ -676,7 +676,7 @@ TVector<ISubOperationBase::TPtr> CreateNewCdcStream(TOperationId opId, const TTx << "Initial scan is not supported yet")}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; if (initialScan) { auto outTx = TransactionTemplate(workingDirPath.PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpCreateLock); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_external_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_external_table.cpp index 1da1e4eacf0..4529e8c41bf 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_external_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_external_table.cpp @@ -332,11 +332,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewExternalTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewExternalTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateExternalTable>(id, tx); } -ISubOperationBase::TPtr CreateNewExternalTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewExternalTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateExternalTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_extsubdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_extsubdomain.cpp index f14b4679b68..19ece7b1170 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_extsubdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_extsubdomain.cpp @@ -282,11 +282,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateExtSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateExtSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateExtSubDomain>(id, tx); } -ISubOperationBase::TPtr CreateExtSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateExtSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateExtSubDomain>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_fs.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_fs.cpp index 94c732eaec9..1f611d36fda 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_fs.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_fs.cpp @@ -511,11 +511,11 @@ TTxState& TCreateFileStore::PrepareChanges( namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewFileStore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewFileStore(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateFileStore>(id, tx); } -ISubOperationBase::TPtr CreateNewFileStore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewFileStore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateFileStore>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_index.cpp index 74a280337de..f5f2a508f04 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_index.cpp @@ -267,11 +267,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewTableIndex(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewTableIndex(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateTableIndex>(id, tx); } -ISubOperationBase::TPtr CreateNewTableIndex(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewTableIndex(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TCreateTableIndex>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_indexed_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_indexed_table.cpp index 695a8b78836..a76874836db 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_indexed_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_indexed_table.cpp @@ -11,7 +11,7 @@ namespace NKikimr::NSchemeShard { using namespace NTableIndex; -TVector<ISubOperationBase::TPtr> CreateIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpCreateIndexedTable); auto indexedTable = tx.GetCreateIndexedTable(); @@ -188,7 +188,7 @@ TVector<ISubOperationBase::TPtr> CreateIndexedTable(TOperationId nextId, const T } } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto scheme = TransactionTemplate(tx.GetWorkingDir(), NKikimrSchemeOp::EOperationType::ESchemeOpCreateTable); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_kesus.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_kesus.cpp index 25eed31b29f..aa617805c7e 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_kesus.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_kesus.cpp @@ -428,11 +428,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewKesus(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewKesus(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateKesus>(id, tx); } -ISubOperationBase::TPtr CreateNewKesus(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewKesus(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateKesus>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_lock.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_lock.cpp index 5413fb48a92..383a8ceb432 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_lock.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_lock.cpp @@ -219,11 +219,11 @@ public: } // anonymous namespace -ISubOperationBase::TPtr CreateLock(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateLock(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateLock>(id, tx); } -ISubOperationBase::TPtr CreateLock(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateLock(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateLock>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_store.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_store.cpp index 7cd72a698fc..27d193fc47f 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_store.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_store.cpp @@ -645,11 +645,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewOlapStore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewOlapStore(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateOlapStore>(id, tx); } -ISubOperationBase::TPtr CreateNewOlapStore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewOlapStore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateOlapStore>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_table.cpp index 4f523979d5b..80566d4c67c 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_olap_table.cpp @@ -877,11 +877,11 @@ public: } -ISubOperationBase::TPtr CreateNewColumnTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewColumnTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateColumnTable>(id, tx); } -ISubOperationBase::TPtr CreateNewColumnTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewColumnTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateColumnTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_pq.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_pq.cpp index 907516c4006..76daa67b01f 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_pq.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_pq.cpp @@ -540,11 +540,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewPQ(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewPQ(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreatePQ>(id, tx); } -ISubOperationBase::TPtr CreateNewPQ(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewPQ(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreatePQ>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_replication.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_replication.cpp index 6ee4787ab39..ed1e2cd7d61 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_replication.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_replication.cpp @@ -408,11 +408,11 @@ public: } // anonymous -ISubOperationBase::TPtr CreateNewReplication(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewReplication(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateReplication>(id, tx); } -ISubOperationBase::TPtr CreateNewReplication(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewReplication(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TCreateReplication>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_restore.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_restore.cpp index 7b704f3b0e7..88196a65e38 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_restore.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_restore.cpp @@ -100,13 +100,13 @@ struct TRestore { } }; -ISubOperationBase::TPtr CreateRestore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateRestore(TOperationId id, const TTxTransaction& tx) { return new TBackupRestoreOperationBase<TRestore, TEvDataShard::TEvCancelRestore>( TTxState::TxRestore, TPathElement::EPathState::EPathStateRestore, id, tx ); } -ISubOperationBase::TPtr CreateRestore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateRestore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return new TBackupRestoreOperationBase<TRestore, TEvDataShard::TEvCancelRestore>( TTxState::TxRestore, TPathElement::EPathState::EPathStateRestore, id, state diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_rtmr.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_rtmr.cpp index 22db60901f9..063c33b9208 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_rtmr.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_rtmr.cpp @@ -395,11 +395,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewRTMR(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewRTMR(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateRTMR>(id, tx); } -ISubOperationBase::TPtr CreateNewRTMR(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewRTMR(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateRTMR>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_sequence.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_sequence.cpp index fa98ecb5b3b..a8f4c008588 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_sequence.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_sequence.cpp @@ -512,11 +512,11 @@ public: } -ISubOperationBase::TPtr CreateNewSequence(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewSequence(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateSequence>(id ,tx); } -ISubOperationBase::TPtr CreateNewSequence(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewSequence(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TCreateSequence>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_solomon.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_solomon.cpp index e742ead7394..c67d84d2529 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_solomon.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_solomon.cpp @@ -437,11 +437,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewSolomon(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateNewSolomon(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateSolomon>(id, tx); } -ISubOperationBase::TPtr CreateNewSolomon(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewSolomon(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateSolomon>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_subdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_subdomain.cpp index e39e265d206..0cc2f9cb8b5 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_subdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_subdomain.cpp @@ -358,11 +358,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TCreateSubDomain>(id, tx); } -ISubOperationBase::TPtr CreateSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateSubDomain>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_create_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_create_table.cpp index 290b39106e7..8bc98e28a75 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_create_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_create_table.cpp @@ -703,24 +703,24 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateNewTable(TOperationId id, const TTxTransaction& tx, const THashSet<TString>& localSequences) { +ISubOperation::TPtr CreateNewTable(TOperationId id, const TTxTransaction& tx, const THashSet<TString>& localSequences) { auto obj = MakeSubOperation<TCreateTable>(id, tx); static_cast<TCreateTable*>(obj.Get())->SetLocalSequences(localSequences); return obj; } -ISubOperationBase::TPtr CreateNewTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateNewTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TCreateTable>(id, state); } -ISubOperationBase::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx) { auto obj = MakeSubOperation<TCreateTable>(id, tx); static_cast<TCreateTable*>(obj.Get())->SetAllowShadowDataForBuildIndex(); return obj; } -ISubOperationBase::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); auto obj = MakeSubOperation<TCreateTable>(id, state); static_cast<TCreateTable*>(obj.Get())->SetAllowShadowDataForBuildIndex(); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_deallocate_pq.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_deallocate_pq.cpp index df47fff4cf2..11f8af0f9ae 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_deallocate_pq.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_deallocate_pq.cpp @@ -147,7 +147,7 @@ public: return result; } - void ProgressState(TOperationContext&) override { + bool ProgressState(TOperationContext&) override { Y_FAIL("no progress state for TDeallocatePQ"); } @@ -164,11 +164,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDeallocatePQ(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDeallocatePQ(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDeallocatePQ>(id, tx); } -ISubOperationBase::TPtr CreateDeallocatePQ(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDeallocatePQ(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state == TTxState::Invalid); return MakeSubOperation<TDeallocatePQ>(id); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_bsv.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_bsv.cpp index 7af2e704f99..9bdd302e095 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_bsv.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_bsv.cpp @@ -244,11 +244,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropBSV(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropBSV(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropBlockStoreVolume>(id, tx); } -ISubOperationBase::TPtr CreateDropBSV(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropBSV(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropBlockStoreVolume>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_cdc_stream.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_cdc_stream.cpp index 7884c523dc8..fcdef20e4d8 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_cdc_stream.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_cdc_stream.cpp @@ -431,23 +431,23 @@ private: } // anonymous -ISubOperationBase::TPtr CreateDropCdcStreamImpl(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropCdcStreamImpl(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropCdcStream>(id, tx); } -ISubOperationBase::TPtr CreateDropCdcStreamImpl(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropCdcStreamImpl(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TDropCdcStream>(id, state); } -ISubOperationBase::TPtr CreateDropCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot) { +ISubOperation::TPtr CreateDropCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot) { return MakeSubOperation<TDropCdcStreamAtTable>(id, tx, dropSnapshot); } -ISubOperationBase::TPtr CreateDropCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot) { +ISubOperation::TPtr CreateDropCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot) { return MakeSubOperation<TDropCdcStreamAtTable>(id, state, dropSnapshot); } -TVector<ISubOperationBase::TPtr> CreateDropCdcStream(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateDropCdcStream(TOperationId opId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpDropCdcStream); LOG_D("CreateDropCdcStream" @@ -512,7 +512,7 @@ TVector<ISubOperationBase::TPtr> CreateDropCdcStream(TOperationId opId, const TT return {CreateReject(opId, NKikimrScheme::StatusMultipleModifications, errStr)}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto outTx = TransactionTemplate(workingDirPath.PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpDropCdcStreamAtTable); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_external_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_external_table.cpp index cea1bf6ccb4..889236ec350 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_external_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_external_table.cpp @@ -197,11 +197,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropExternalTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropExternalTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropExternalTable>(id, tx); } -ISubOperationBase::TPtr CreateDropExternalTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropExternalTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropExternalTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_extsubdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_extsubdomain.cpp index b600e49bb61..e7a580134c8 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_extsubdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_extsubdomain.cpp @@ -362,11 +362,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateForceDropExtSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateForceDropExtSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropExtSubdomain>(id, tx); } -ISubOperationBase::TPtr CreateForceDropExtSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateForceDropExtSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropExtSubdomain>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_fs.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_fs.cpp index 29af89fcfa2..46b68212c94 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_fs.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_fs.cpp @@ -259,11 +259,11 @@ THolder<TProposeResponse> TDropFileStore::Propose( namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropFileStore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropFileStore(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropFileStore>(id, tx); } -ISubOperationBase::TPtr CreateDropFileStore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropFileStore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropFileStore>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_index.cpp index 2331e789511..06324a4999c 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_index.cpp @@ -382,15 +382,15 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropTableIndexAtMainTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropTableIndexAtMainTable(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TDropIndexAtMainTable>(id, state); } -ISubOperationBase::TPtr CreateDropTableIndexAtMainTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropTableIndexAtMainTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropIndexAtMainTable>(id, tx); } -TVector<ISubOperationBase::TPtr> CreateDropIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateDropIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpDropIndex); LOG_DEBUG_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, @@ -452,7 +452,7 @@ TVector<ISubOperationBase::TPtr> CreateDropIndex(TOperationId nextId, const TTxT return {CreateReject(nextId, NKikimrScheme::StatusMultipleModifications, errStr)}; } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; { auto mainTableIndexDropping = TransactionTemplate(workingDirPath.PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpDropTableIndexAtMainTable); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_indexed_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_indexed_table.cpp index d15310d2587..28afd01010a 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_indexed_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_indexed_table.cpp @@ -381,15 +381,15 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropTableIndex(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropTableIndex(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropTableIndex>(id, tx); } -ISubOperationBase::TPtr CreateDropTableIndex(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropTableIndex(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TDropTableIndex>(id, state); } -TVector<ISubOperationBase::TPtr> CreateDropIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateDropIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpDropTable); auto dropOperation = tx.GetDrop(); @@ -441,7 +441,7 @@ TVector<ISubOperationBase::TPtr> CreateDropIndexedTable(TOperationId nextId, con } } - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; result.push_back(CreateDropTable(NextPartId(nextId, result), tx)); for (const auto& [childName, childPathId] : table.Base()->GetChildren()) { diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_kesus.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_kesus.cpp index 2e753ecf42b..010ba506dac 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_kesus.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_kesus.cpp @@ -232,11 +232,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropKesus(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropKesus(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropKesus>(id, tx); } -ISubOperationBase::TPtr CreateDropKesus(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropKesus(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropKesus>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_lock.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_lock.cpp index 11748849524..a1015310e6e 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_lock.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_lock.cpp @@ -232,11 +232,11 @@ public: } // anonymous namespace -ISubOperationBase::TPtr DropLock(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr DropLock(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropLock>(id, tx); } -ISubOperationBase::TPtr DropLock(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr DropLock(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropLock>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_store.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_store.cpp index 5e8cf95bc91..615a6b50b6a 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_store.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_store.cpp @@ -442,11 +442,11 @@ private: } -ISubOperationBase::TPtr CreateDropOlapStore(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropOlapStore(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropOlapStore>(id, tx); } -ISubOperationBase::TPtr CreateDropOlapStore(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropOlapStore(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropOlapStore>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_table.cpp index ee7f80b2d10..03aeb2c0020 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_olap_table.cpp @@ -552,11 +552,11 @@ private: } -ISubOperationBase::TPtr CreateDropColumnTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropColumnTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropColumnTable>(id, tx); } -ISubOperationBase::TPtr CreateDropColumnTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropColumnTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropColumnTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_pq.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_pq.cpp index d3c8b633bfe..9926d0fc481 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_pq.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_pq.cpp @@ -454,11 +454,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropPQ(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropPQ(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropPQ>(id, tx); } -ISubOperationBase::TPtr CreateDropPQ(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropPQ(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropPQ>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_replication.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_replication.cpp index edb2254dd4b..4b7f0cb59d3 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_replication.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_replication.cpp @@ -342,11 +342,11 @@ public: } // anonymous -ISubOperationBase::TPtr CreateDropReplication(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropReplication(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropReplication>(id, tx); } -ISubOperationBase::TPtr CreateDropReplication(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropReplication(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TDropReplication>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_sequence.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_sequence.cpp index b1074ea1a55..08fd9b1d43c 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_sequence.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_sequence.cpp @@ -404,11 +404,11 @@ public: } -ISubOperationBase::TPtr CreateDropSequence(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropSequence(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropSequence>(id ,tx); } -ISubOperationBase::TPtr CreateDropSequence(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropSequence(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TDropSequence>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_solomon.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_solomon.cpp index fe176bfc7fe..5b8737c3f4e 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_solomon.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_solomon.cpp @@ -229,11 +229,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropSolomon(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropSolomon(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropSolomon>(id, tx); } -ISubOperationBase::TPtr CreateDropSolomon(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropSolomon(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropSolomon>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_subdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_subdomain.cpp index b698f843866..012ec4a35ae 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_subdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_subdomain.cpp @@ -222,11 +222,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropSubdomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropSubdomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropSubdomain>(id, tx); } -ISubOperationBase::TPtr CreateDropSubdomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropSubdomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropSubdomain>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp index 715203e8887..7d652c1252a 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp @@ -619,11 +619,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateDropTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateDropTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropTable>(id, tx); } -ISubOperationBase::TPtr CreateDropTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateDropTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_unsafe.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_unsafe.cpp index 8a68e7a33f0..b26d9c72d22 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_unsafe.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_unsafe.cpp @@ -279,20 +279,20 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateForceDropUnsafe(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateForceDropUnsafe(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropForceUnsafe>(id, tx, TPathElement::EPathType::EPathTypeInvalid); } -ISubOperationBase::TPtr CreateForceDropUnsafe(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateForceDropUnsafe(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropForceUnsafe>(id, state); } -ISubOperationBase::TPtr CreateForceDropSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateForceDropSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TDropForceUnsafe>(id, tx, TPathElement::EPathType::EPathTypeSubDomain); } -ISubOperationBase::TPtr CreateForceDropSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateForceDropSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TDropForceUnsafe>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_finalize_build_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_finalize_build_index.cpp index fb7e28739fd..32a1d0397c1 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_finalize_build_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_finalize_build_index.cpp @@ -406,11 +406,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TFinalizeBuildIndex>(id, tx); } -ISubOperationBase::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TFinalizeBuildIndex>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_initiate_build_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_initiate_build_index.cpp index 8e63d8d7a1c..ce2437b7bd0 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_initiate_build_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_initiate_build_index.cpp @@ -415,11 +415,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TInitializeBuildIndex>(id, tx); } -ISubOperationBase::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TInitializeBuildIndex>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_just_reject.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_just_reject.cpp index dd925027417..79a8045f9fa 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_just_reject.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_just_reject.cpp @@ -7,7 +7,7 @@ namespace { using namespace NKikimr; using namespace NSchemeShard; -class TReject: public ISubOperationBase { +class TReject: public ISubOperation { const TOperationId OperationId; THolder<TProposeResponse> Response; @@ -55,7 +55,7 @@ public: Y_FAIL("no AbortPropose for TReject"); } - void ProgressState(TOperationContext&) override { + bool ProgressState(TOperationContext&) override { Y_FAIL("no ProgressState for TReject"); } @@ -68,11 +68,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateReject(TOperationId id, THolder<TProposeResponse> response) { +ISubOperation::TPtr CreateReject(TOperationId id, THolder<TProposeResponse> response) { return new TReject(id, std::move(response)); } -ISubOperationBase::TPtr CreateReject(TOperationId id, NKikimrScheme::EStatus status, const TString& message) { +ISubOperation::TPtr CreateReject(TOperationId id, NKikimrScheme::EStatus status, const TString& message) { return new TReject(id, status, message); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_mkdir.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_mkdir.cpp index 3fa3d86e86d..e331626d414 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_mkdir.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_mkdir.cpp @@ -257,11 +257,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateMkDir(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateMkDir(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TMkDir>(id, tx); } -ISubOperationBase::TPtr CreateMkDir(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateMkDir(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TMkDir>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_modify_acl.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_modify_acl.cpp index e8309894077..b5551fdcecb 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_modify_acl.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_modify_acl.cpp @@ -119,7 +119,7 @@ public: Y_FAIL("no AbortPropose for TModifyACL"); } - void ProgressState(TOperationContext&) override { + bool ProgressState(TOperationContext&) override { Y_FAIL("no ProgressState for TModifyACL"); } @@ -132,11 +132,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateModifyACL(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateModifyACL(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TModifyACL>(id, tx); } -ISubOperationBase::TPtr CreateModifyACL(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateModifyACL(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state == TTxState::Invalid); return MakeSubOperation<TModifyACL>(id); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_move_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_move_index.cpp index f90437e97e4..33813413293 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_move_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_move_index.cpp @@ -455,10 +455,10 @@ public: namespace NKikimr::NSchemeShard { -TVector<ISubOperationBase::TPtr> CreateConsistentMoveIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateConsistentMoveIndex(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpMoveIndex); - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; if (!context.SS->EnableMoveIndex) { TString errStr = "Move index is not supported yet"; @@ -602,11 +602,11 @@ TVector<ISubOperationBase::TPtr> CreateConsistentMoveIndex(TOperationId nextId, return result; } -ISubOperationBase::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TUpdateMainTableOnIndexMove>(id, tx); } -ISubOperationBase::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, TTxState::ETxState state) { return MakeSubOperation<TUpdateMainTableOnIndexMove>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_move_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_move_table.cpp index 245e48e54c7..e274bf49c95 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_move_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_move_table.cpp @@ -749,11 +749,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateMoveTable(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateMoveTable(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TMoveTable>(id, tx); } -ISubOperationBase::TPtr CreateMoveTable(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateMoveTable(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TMoveTable>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_move_table_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_move_table_index.cpp index 761d047dd30..19deb8714b2 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_move_table_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_move_table_index.cpp @@ -545,11 +545,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateMoveTableIndex(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateMoveTableIndex(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TMoveTableIndex>(id, tx); } -ISubOperationBase::TPtr CreateMoveTableIndex(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateMoveTableIndex(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TMoveTableIndex>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_move_tables.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_move_tables.cpp index 894b65d839d..dd35cd1faf1 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_move_tables.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_move_tables.cpp @@ -11,10 +11,10 @@ namespace NKikimr { namespace NSchemeShard { -TVector<ISubOperationBase::TPtr> CreateConsistentMoveTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { +TVector<ISubOperation::TPtr> CreateConsistentMoveTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context) { Y_VERIFY(tx.GetOperationType() == NKikimrSchemeOp::EOperationType::ESchemeOpMoveTable); - TVector<ISubOperationBase::TPtr> result; + TVector<ISubOperation::TPtr> result; const auto& moving = tx.GetMoveTable(); const auto& srcStr = moving.GetSrcPath(); diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_part.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_part.cpp index d4957b644f2..7cd1ffc8e89 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_part.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_part.cpp @@ -1,18 +1,16 @@ #include "schemeshard__operation_part.h" #include "schemeshard_impl.h" -#include "schemeshard_path_describer.h" -namespace NKikimr { -namespace NSchemeShard { +namespace NKikimr::NSchemeShard { -template<class T> +template <typename T> struct TDebugEvent { static TString ToString(const typename T::TPtr& ev) { return ev->Get()->Record.ShortDebugString(); } }; -template<> +template <> struct TDebugEvent<NBackgroundTasks::TEvAddTaskResult> { static TString ToString(const NBackgroundTasks::TEvAddTaskResult::TPtr& ev) { return ev->Get()->GetDebugString(); @@ -21,7 +19,7 @@ struct TDebugEvent<NBackgroundTasks::TEvAddTaskResult> { template <> struct TDebugEvent<TEvPrivate::TEvOperationPlan> { - static TString ToString (const TEvPrivate::TEvOperationPlan::TPtr& ev) { + static TString ToString(const TEvPrivate::TEvOperationPlan::TPtr& ev) { return TStringBuilder() << "TEvOperationPlan {" << " StepId: " << ev->Get()->StepId << " TxId: " << ev->Get()->TxId @@ -31,72 +29,66 @@ struct TDebugEvent<TEvPrivate::TEvOperationPlan> { template <> struct TDebugEvent<TEvPrivate::TEvCompletePublication> { - static TString ToString (const TEvPrivate::TEvCompletePublication::TPtr& ev) { + static TString ToString(const TEvPrivate::TEvCompletePublication::TPtr& ev) { return ev->Get()->ToString(); } }; template <> struct TDebugEvent<TEvPrivate::TEvCompleteBarrier> { - static TString ToString (const TEvPrivate::TEvCompleteBarrier::TPtr& ev) { + static TString ToString(const TEvPrivate::TEvCompleteBarrier::TPtr& ev) { return ev->Get()->ToString(); } }; template <> struct TDebugEvent<TEvPrivate::TEvCommitTenantUpdate> { - static TString ToString (const TEvPrivate::TEvCommitTenantUpdate::TPtr& /*ev*/) { - return TStringBuilder() << "TEvCommitTenantUpdate {" << " }"; + static TString ToString(const TEvPrivate::TEvCommitTenantUpdate::TPtr&) { + return "TEvCommitTenantUpdate { }"; } }; template <> struct TDebugEvent<TEvPrivate::TEvUndoTenantUpdate> { - static TString ToString (const TEvPrivate::TEvUndoTenantUpdate::TPtr& /*ev*/) { - return TStringBuilder() << "TEvUndoTenantUpdate {" << " }"; + static TString ToString(const TEvPrivate::TEvUndoTenantUpdate::TPtr&) { + return "TEvUndoTenantUpdate { }"; } }; -#define DefaultDebugReply(TEvType, ...) \ - TString IOperationBase::DebugReply(const TEvType::TPtr& ev) { \ - return TDebugEvent<TEvType>::ToString(ev); \ - } \ - TString TSubOperationState::DebugReply(const TEvType::TPtr& ev) { \ - return TDebugEvent<TEvType>::ToString(ev); \ +#define DefaultDebugReply(TEvType, ...) \ + TString ISubOperationState::DebugReply(TEvType::TPtr& ev) { \ + return TDebugEvent<TEvType>::ToString(ev); \ } SCHEMESHARD_INCOMING_EVENTS(DefaultDebugReply) #undef DefaultDebugReply +static TString LogMessage(const TString& ev, TOperationContext& context, bool ignore) { + return TStringBuilder() << (ignore ? "Unexpected" : "Ignore") << " message" + << ": tablet# " << context.SS->SelfTabletId() + << ", ev# " << ev; +} -#define DefaultHandleReply(TEvType, ...) \ - void IOperationBase::HandleReply(TEvType::TPtr& ev, TOperationContext& context) { \ - TStringBuilder msg; \ - msg << "Unexpected message," \ - << " TEvType# " << #TEvType \ - << " debug msg# " << DebugReply(ev) \ - << " at tablet# " << context.SS->SelfTabletId(); \ - LOG_CRIT_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, msg); \ - Y_FAIL_S(msg); \ - } \ - bool TSubOperationState::HandleReply(TEvType::TPtr& ev, TOperationContext& context) { \ - if (!MsgToIgnore.empty() && MsgToIgnore.contains(TEvType::EventType)) { \ - LOG_INFO_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, \ - "Superfluous message, " << LogHint \ - << " TEvType# " << #TEvType \ - << " debug msg# " << DebugReply(ev) \ - << " at tablet# " << context.SS->TabletID()); \ - return false; \ - } \ - TStringBuilder msg; \ - msg << "Unexpected message, " \ - << LogHint \ - << " TEvType# " << #TEvType \ - << " debug msg# " << DebugReply(ev) \ - << " at tablet# " << context.SS->SelfTabletId(); \ - LOG_CRIT_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, msg); \ - Y_FAIL_S(msg); \ - return false; \ +#define DefaultHandleReply(TEvType, ...) \ + bool ISubOperationState::HandleReply(TEvType::TPtr& ev, TOperationContext& context) { \ + const auto msg = LogMessage(DebugReply(ev), context, false); \ + LOG_CRIT_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, msg); \ + Y_FAIL_S(msg); \ + } \ + \ + bool TSubOperationState::HandleReply(TEvType::TPtr& ev, TOperationContext& context) { \ + const bool ignore = MsgToIgnore.contains(TEvType::EventType); \ + const auto msg = LogMessage(DebugReply(ev), context, ignore); \ + if (ignore) { \ + LOG_INFO_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, msg); \ + return false; \ + } \ + LOG_CRIT_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, msg); \ + Y_FAIL_S(msg); \ + } \ + \ + bool TSubOperation::HandleReply(TEvType::TPtr& ev, TOperationContext& context) { \ + return Progress(context, &ISubOperationState::HandleReply, ev, context); \ } SCHEMESHARD_INCOMING_EVENTS(DefaultHandleReply) @@ -108,4 +100,3 @@ void TSubOperationState::IgnoreMessages(TString debugHint, TSet<ui32> mgsIds) { } } -} diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_part.h b/ydb/core/tx/schemeshard/schemeshard__operation_part.h index b6e0d7eba4e..60c503293d9 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_part.h +++ b/ydb/core/tx/schemeshard/schemeshard__operation_part.h @@ -159,72 +159,61 @@ using TProposeRequest = NKikimr::NSchemeShard::TEvSchemeShard::TEvModifySchemeTr using TProposeResponse = NKikimr::NSchemeShard::TEvSchemeShard::TEvModifySchemeTransactionResult; using TTxTransaction = NKikimrSchemeOp::TModifyScheme; -class IOperationBase { +class ISubOperationState { public: - virtual ~IOperationBase() = default; + virtual ~ISubOperationState() = default; #define DefaultDebugReply(TEvType, TxType) \ - static TString DebugReply(const TEvType::TPtr&); + static TString DebugReply(TEvType::TPtr& ev); SCHEMESHARD_INCOMING_EVENTS(DefaultDebugReply) #undef DefaultDebugReply #define DefaultHandleReply(TEvType, ...) \ - virtual void HandleReply(TEvType::TPtr&, TOperationContext&); + virtual bool HandleReply(TEvType::TPtr& ev, TOperationContext& context); SCHEMESHARD_INCOMING_EVENTS(DefaultHandleReply) #undef DefaultHandleReply - virtual void ProgressState(TOperationContext& context) = 0; -}; - -class ISubOperationBase: public TSimpleRefCount<ISubOperationBase>, public IOperationBase { -public: - using TPtr = TIntrusivePtr<ISubOperationBase>; - - virtual THolder<TProposeResponse> Propose(const TString& owner, TOperationContext& context) = 0; - - // call it inside multipart operations after failed propose - virtual void AbortPropose(TOperationContext& context) = 0; - - // call it only before execute ForceDrop operation for path - virtual void AbortUnsafe(TTxId forceDropTxId, TOperationContext& context) = 0; - - // getters - virtual const TOperationId& GetOperationId() const = 0; - virtual const TTxTransaction& GetTransaction() const = 0; + virtual bool ProgressState(TOperationContext& context) = 0; }; -class TSubOperationState { -private: +class TSubOperationState: public ISubOperationState { TString LogHint; TSet<ui32> MsgToIgnore; virtual TString DebugHint() const = 0; public: - using TPtr = THolder<TSubOperationState>; - virtual ~TSubOperationState() = default; - -#define DefaultDebugReply(TEvType, TxType) \ - TString DebugReply(const TEvType::TPtr&); - SCHEMESHARD_INCOMING_EVENTS(DefaultDebugReply) -#undef DefaultDebugReply - -#define DefaultHandleReply(TEvType, ...) \ - virtual bool HandleReply(TEvType::TPtr&, TOperationContext&); +#define DefaultHandleReply(TEvType, ...) \ + bool HandleReply(TEvType::TPtr& ev, TOperationContext& context) override; SCHEMESHARD_INCOMING_EVENTS(DefaultHandleReply) #undef DefaultHandleReply void IgnoreMessages(TString debugHint, TSet<ui32> mgsIds); +}; - virtual bool ProgressState(TOperationContext& context) = 0; +class ISubOperation: public TSimpleRefCount<ISubOperation>, public ISubOperationState { +public: + using TPtr = TIntrusivePtr<ISubOperation>; + + virtual THolder<TProposeResponse> Propose(const TString& owner, TOperationContext& context) = 0; + + // call it inside multipart operations after failed propose + virtual void AbortPropose(TOperationContext& context) = 0; + + // call it only before execute ForceDrop operation for path + virtual void AbortUnsafe(TTxId forceDropTxId, TOperationContext& context) = 0; + + // getters + virtual const TOperationId& GetOperationId() const = 0; + virtual const TTxTransaction& GetTransaction() const = 0; }; -class TSubOperationBase: public ISubOperationBase { +class TSubOperationBase: public ISubOperation { protected: const TOperationId OperationId; const TTxTransaction Transaction; @@ -252,7 +241,7 @@ public: class TSubOperation: public TSubOperationBase { TTxState::ETxState State = TTxState::Invalid; - TSubOperationState::TPtr Base = nullptr; + TSubOperationState::TPtr StateFunc = nullptr; protected: virtual TTxState::ETxState NextState(TTxState::ETxState state) const = 0; @@ -282,299 +271,304 @@ public: void SetState(TTxState::ETxState state) { State = state; - Base = SelectStateFunc(state); + StateFunc = SelectStateFunc(state); } - void ProgressState(TOperationContext& context) override { - Y_VERIFY(Base); - const bool isDone = Base->ProgressState(context); - if (isDone) { - StateDone(context); - } + bool ProgressState(TOperationContext& context) override { + return Progress(context, &ISubOperationState::ProgressState, context); } - #define DefaultHandleReply(TEvType, ...) \ - void HandleReply(TEvType::TPtr& ev, TOperationContext& context) override { \ - Y_VERIFY(Base); \ - bool isDone = Base->HandleReply(ev, context); \ - if (isDone) { \ - StateDone(context); \ - } \ - } + #define DefaultHandleReply(TEvType, ...) \ + bool HandleReply(TEvType::TPtr& ev, TOperationContext& context) override; SCHEMESHARD_INCOMING_EVENTS(DefaultHandleReply) #undef DefaultHandleReply + +private: + template <typename... Args> + using TFunc = bool(ISubOperationState::*)(Args...); + + template <typename... Args> + bool Progress(TOperationContext& context, TFunc<Args...> func, Args&&... args) { + Y_VERIFY(StateFunc); + const bool isDone = std::invoke(func, StateFunc.Get(), std::forward<Args>(args)...); + if (isDone) { + StateDone(context); + } + + return true; + } }; template <typename T> -ISubOperationBase::TPtr MakeSubOperation(const TOperationId& id) { +ISubOperation::TPtr MakeSubOperation(const TOperationId& id) { return new T(id); } template <typename T, typename... Args> -ISubOperationBase::TPtr MakeSubOperation(const TOperationId& id, const TTxTransaction& tx, Args&&... args) { +ISubOperation::TPtr MakeSubOperation(const TOperationId& id, const TTxTransaction& tx, Args&&... args) { return new T(id, tx, std::forward<Args>(args)...); } template <typename T, typename... Args> -ISubOperationBase::TPtr MakeSubOperation(const TOperationId& id, TTxState::ETxState state, Args&&... args) { +ISubOperation::TPtr MakeSubOperation(const TOperationId& id, TTxState::ETxState state, Args&&... args) { auto result = MakeHolder<T>(id, state, std::forward<Args>(args)...); result->SetState(state); return result.Release(); } -ISubOperationBase::TPtr CreateReject(TOperationId id, THolder<TProposeResponse> response); -ISubOperationBase::TPtr CreateReject(TOperationId id, NKikimrScheme::EStatus status, const TString& message); +ISubOperation::TPtr CreateReject(TOperationId id, THolder<TProposeResponse> response); +ISubOperation::TPtr CreateReject(TOperationId id, NKikimrScheme::EStatus status, const TString& message); -ISubOperationBase::TPtr CreateMkDir(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateMkDir(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateMkDir(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateMkDir(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateRmDir(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateRmDir(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateRmDir(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateRmDir(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateModifyACL(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateModifyACL(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateModifyACL(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateModifyACL(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterUserAttrs(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterUserAttrs(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterUserAttrs(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterUserAttrs(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateForceDropUnsafe(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateForceDropUnsafe(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateForceDropUnsafe(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateForceDropUnsafe(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewTable(TOperationId id, const TTxTransaction& tx, const THashSet<TString>& localSequences = { }); -ISubOperationBase::TPtr CreateNewTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewTable(TOperationId id, const TTxTransaction& tx, const THashSet<TString>& localSequences = { }); +ISubOperation::TPtr CreateNewTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateCopyTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateCopyTable(TOperationId id, TTxState::ETxState state); -TVector<ISubOperationBase::TPtr> CreateCopyTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateCopyTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateCopyTable(TOperationId id, TTxState::ETxState state); +TVector<ISubOperation::TPtr> CreateCopyTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateAlterTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterTable(TOperationId id, TTxState::ETxState state); -TVector<ISubOperationBase::TPtr> CreateConsistentAlterTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateAlterTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterTable(TOperationId id, TTxState::ETxState state); +TVector<ISubOperation::TPtr> CreateConsistentAlterTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateSplitMerge(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateSplitMerge(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateSplitMerge(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateSplitMerge(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropTable(TOperationId id, TTxState::ETxState state); -TVector<ISubOperationBase::TPtr> CreateBuildIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -TVector<ISubOperationBase::TPtr> ApplyBuildIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -TVector<ISubOperationBase::TPtr> CancelBuildIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CreateBuildIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> ApplyBuildIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CancelBuildIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -TVector<ISubOperationBase::TPtr> CreateDropIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateDropTableIndexAtMainTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropTableIndexAtMainTable(TOperationId id, TTxState::ETxState state); +TVector<ISubOperation::TPtr> CreateDropIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateDropTableIndexAtMainTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropTableIndexAtMainTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateUpdateMainTableOnIndexMove(TOperationId id, TTxState::ETxState state); // External Table // Create -ISubOperationBase::TPtr CreateNewExternalTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewExternalTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewExternalTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewExternalTable(TOperationId id, TTxState::ETxState state); // Drop -ISubOperationBase::TPtr CreateDropExternalTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropExternalTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropExternalTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropExternalTable(TOperationId id, TTxState::ETxState state); /// CDC // Create -TVector<ISubOperationBase::TPtr> CreateNewCdcStream(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateNewCdcStreamImpl(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewCdcStreamImpl(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool initialScan); -ISubOperationBase::TPtr CreateNewCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool initialScan); +TVector<ISubOperation::TPtr> CreateNewCdcStream(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateNewCdcStreamImpl(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewCdcStreamImpl(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool initialScan); +ISubOperation::TPtr CreateNewCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool initialScan); // Alter -TVector<ISubOperationBase::TPtr> CreateAlterCdcStream(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateAlterCdcStreamImpl(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterCdcStreamImpl(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot); -ISubOperationBase::TPtr CreateAlterCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot); +TVector<ISubOperation::TPtr> CreateAlterCdcStream(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateAlterCdcStreamImpl(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterCdcStreamImpl(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot); +ISubOperation::TPtr CreateAlterCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot); // Drop -TVector<ISubOperationBase::TPtr> CreateDropCdcStream(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateDropCdcStreamImpl(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropCdcStreamImpl(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot); -ISubOperationBase::TPtr CreateDropCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot); +TVector<ISubOperation::TPtr> CreateDropCdcStream(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateDropCdcStreamImpl(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropCdcStreamImpl(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropCdcStreamAtTable(TOperationId id, const TTxTransaction& tx, bool dropSnapshot); +ISubOperation::TPtr CreateDropCdcStreamAtTable(TOperationId id, TTxState::ETxState state, bool dropSnapshot); -ISubOperationBase::TPtr CreateBackup(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateBackup(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateBackup(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateBackup(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateRestore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateRestore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateRestore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateRestore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateTxCancelTx(TEvSchemeShard::TEvCancelTx::TPtr ev); +ISubOperation::TPtr CreateTxCancelTx(TEvSchemeShard::TEvCancelTx::TPtr ev); -TVector<ISubOperationBase::TPtr> CreateIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); -TVector<ISubOperationBase::TPtr> CreateDropIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CreateIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CreateDropIndexedTable(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateNewTableIndex(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewTableIndex(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropTableIndex(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropTableIndex(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterTableIndex(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterTableIndex(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewTableIndex(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewTableIndex(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropTableIndex(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropTableIndex(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterTableIndex(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterTableIndex(TOperationId id, TTxState::ETxState state); -TVector<ISubOperationBase::TPtr> CreateConsistentCopyTables(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CreateConsistentCopyTables(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateNewOlapStore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewOlapStore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterOlapStore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterOlapStore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropOlapStore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropOlapStore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewOlapStore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewOlapStore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterOlapStore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterOlapStore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropOlapStore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropOlapStore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewColumnTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewColumnTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterColumnTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterColumnTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropColumnTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropColumnTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewColumnTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewColumnTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterColumnTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterColumnTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropColumnTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropColumnTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewBSV(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewBSV(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewBSV(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewBSV(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterBSV(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterBSV(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterBSV(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterBSV(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAssignBSV(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAssignBSV(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAssignBSV(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAssignBSV(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropBSV(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropBSV(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropBSV(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropBSV(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewPQ(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewPQ(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewPQ(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewPQ(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterPQ(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterPQ(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterPQ(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterPQ(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropPQ(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropPQ(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropPQ(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropPQ(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAllocatePQ(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAllocatePQ(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAllocatePQ(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAllocatePQ(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDeallocatePQ(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDeallocatePQ(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDeallocatePQ(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDeallocatePQ(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateSubDomain(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterSubDomain(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateCompatibleSubdomainDrop(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateCompatibleSubdomainAlter(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateCompatibleSubdomainDrop(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateCompatibleSubdomainAlter(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateUpgradeSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateUpgradeSubDomain(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateUpgradeSubDomainDecision(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateUpgradeSubDomainDecision(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateUpgradeSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateUpgradeSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateUpgradeSubDomainDecision(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateUpgradeSubDomainDecision(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropSubdomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropSubdomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropSubdomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropSubdomain(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateForceDropSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateForceDropSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateForceDropSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateForceDropSubDomain(TOperationId id, TTxState::ETxState state); /// ExtSubDomain // Create -ISubOperationBase::TPtr CreateExtSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateExtSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateExtSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateExtSubDomain(TOperationId id, TTxState::ETxState state); // Alter -TVector<ISubOperationBase::TPtr> CreateCompatibleAlterExtSubDomain(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateAlterExtSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterExtSubDomain(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, TTxState::ETxState state); +TVector<ISubOperation::TPtr> CreateCompatibleAlterExtSubDomain(TOperationId nextId, const TTxTransaction& tx, TOperationContext& context); +ISubOperation::TPtr CreateAlterExtSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterExtSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterExtSubDomainCreateHive(TOperationId id, TTxState::ETxState state); // Drop -ISubOperationBase::TPtr CreateForceDropExtSubDomain(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateForceDropExtSubDomain(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateForceDropExtSubDomain(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateForceDropExtSubDomain(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewKesus(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewKesus(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewKesus(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewKesus(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterKesus(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterKesus(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterKesus(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterKesus(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropKesus(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropKesus(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropKesus(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropKesus(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewRTMR(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewRTMR(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewRTMR(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewRTMR(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewSolomon(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewSolomon(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewSolomon(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewSolomon(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterSolomon(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterSolomon(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterSolomon(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterSolomon(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropSolomon(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropSolomon(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropSolomon(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropSolomon(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateInitializeBuildIndexMainTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateInitializeBuildIndexImplTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateFinalizeBuildIndexImplTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateFinalizeBuildIndexMainTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateLock(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateLock(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateLock(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateLock(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr DropLock(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr DropLock(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr DropLock(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr DropLock(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewFileStore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewFileStore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewFileStore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewFileStore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterFileStore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterFileStore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterFileStore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterFileStore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropFileStore(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropFileStore(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropFileStore(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropFileStore(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterLogin(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterLogin(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterLogin(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterLogin(TOperationId id, TTxState::ETxState state); -TVector<ISubOperationBase::TPtr> CreateConsistentMoveTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -TVector<ISubOperationBase::TPtr> CreateConsistentMoveIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CreateConsistentMoveTable(TOperationId id, const TTxTransaction& tx, TOperationContext& context); +TVector<ISubOperation::TPtr> CreateConsistentMoveIndex(TOperationId id, const TTxTransaction& tx, TOperationContext& context); -ISubOperationBase::TPtr CreateMoveTable(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateMoveTable(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateMoveTable(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateMoveTable(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateMoveIndex(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateMoveIndex(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateMoveIndex(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateMoveIndex(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateMoveTableIndex(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateMoveTableIndex(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateMoveTableIndex(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateMoveTableIndex(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewSequence(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewSequence(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropSequence(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropSequence(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewSequence(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewSequence(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropSequence(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropSequence(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewReplication(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewReplication(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropReplication(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropReplication(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewReplication(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewReplication(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropReplication(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropReplication(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateNewBlobDepot(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateNewBlobDepot(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateAlterBlobDepot(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateAlterBlobDepot(TOperationId id, TTxState::ETxState state); -ISubOperationBase::TPtr CreateDropBlobDepot(TOperationId id, const TTxTransaction& tx); -ISubOperationBase::TPtr CreateDropBlobDepot(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateNewBlobDepot(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateNewBlobDepot(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateAlterBlobDepot(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateAlterBlobDepot(TOperationId id, TTxState::ETxState state); +ISubOperation::TPtr CreateDropBlobDepot(TOperationId id, const TTxTransaction& tx); +ISubOperation::TPtr CreateDropBlobDepot(TOperationId id, TTxState::ETxState state); } } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_rmdir.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_rmdir.cpp index 06ef1eb4ee6..3392eeb6954 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_rmdir.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_rmdir.cpp @@ -94,7 +94,7 @@ public: Y_FAIL("no AbortPropose for TRmDir"); } - void ProgressState(TOperationContext& context) override { + bool ProgressState(TOperationContext& context) override { LOG_INFO_S(context.Ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, "TRmDir ProgressState" << ", opId: " << OperationId @@ -103,9 +103,10 @@ public: TTxState* txState = context.SS->FindTx(OperationId); context.OnComplete.ProposeToCoordinator(OperationId, txState->TargetPathId, TStepId(0)); + return true; } - void HandleReply(TEvPrivate::TEvOperationPlan::TPtr& ev, TOperationContext& context) override { + bool HandleReply(TEvPrivate::TEvOperationPlan::TPtr& ev, TOperationContext& context) override { const TStepId step = TStepId(ev->Get()->StepId); const TTabletId ssId = context.SS->SelfTabletId(); @@ -123,7 +124,7 @@ public: "txState is nullptr, considered as duplicate PlanStep" << ", opId: " << OperationId << ", at schemeshard: " << ssId); - return; + return true; } if (txState->State != TTxState::Propose) { @@ -132,7 +133,7 @@ public: << ", opId: " << OperationId << ", state: " << TTxState::StateName(txState->State) << ", at schemeshard: " << ssId); - return; + return true; } NIceDb::TNiceDb db(context.GetDB()); @@ -167,6 +168,7 @@ public: << ", at schemeshard: " << ssId); context.OnComplete.DoneOperation(OperationId); + return true; } void AbortUnsafe(TTxId forceDropTxId, TOperationContext& context) override { @@ -184,11 +186,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateRmDir(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateRmDir(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TRmDir>(id, tx); } -ISubOperationBase::TPtr CreateRmDir(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateRmDir(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state == TTxState::Invalid || state == TTxState::Propose); return MakeSubOperation<TRmDir>(id); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_split_merge.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_split_merge.cpp index 77fdca3cdce..b2dacd0ace2 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_split_merge.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_split_merge.cpp @@ -1005,11 +1005,11 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateSplitMerge(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateSplitMerge(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TSplitMerge>(id, tx); } -ISubOperationBase::TPtr CreateSplitMerge(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateSplitMerge(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TSplitMerge>(id, state); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_upgrade_subdomain.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_upgrade_subdomain.cpp index 48ade77c5aa..c380d6ceaea 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_upgrade_subdomain.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_upgrade_subdomain.cpp @@ -1481,25 +1481,25 @@ public: namespace NKikimr::NSchemeShard { -ISubOperationBase::TPtr CreateUpgradeSubDomain(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateUpgradeSubDomain(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TUpgradeSubDomain>(id, tx); } -ISubOperationBase::TPtr CreateUpgradeSubDomain(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateUpgradeSubDomain(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TUpgradeSubDomain>(id, state); } -ISubOperationBase::TPtr CreateUpgradeSubDomainDecision(TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateUpgradeSubDomainDecision(TOperationId id, const TTxTransaction& tx) { return MakeSubOperation<TUpgradeSubDomainDecision>(id, tx); } -ISubOperationBase::TPtr CreateUpgradeSubDomainDecision(TOperationId id, TTxState::ETxState state) { +ISubOperation::TPtr CreateUpgradeSubDomainDecision(TOperationId id, TTxState::ETxState state) { Y_VERIFY(state != TTxState::Invalid); return MakeSubOperation<TUpgradeSubDomainDecision>(id, state); } -ISubOperationBase::TPtr CreateCompatibleSubdomainDrop(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateCompatibleSubdomainDrop(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx) { const auto& info = tx.GetDrop(); const TString& parentPathStr = tx.GetWorkingDir(); @@ -1526,7 +1526,7 @@ ISubOperationBase::TPtr CreateCompatibleSubdomainDrop(TSchemeShard* ss, TOperati return CreateForceDropSubDomain(id, tx); } -ISubOperationBase::TPtr CreateCompatibleSubdomainAlter(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx) { +ISubOperation::TPtr CreateCompatibleSubdomainAlter(TSchemeShard* ss, TOperationId id, const TTxTransaction& tx) { const auto& info = tx.GetSubDomain(); const TString& parentPathStr = tx.GetWorkingDir(); |