From 7963bc738dbe95955aea313f22e5ee6cbc700482 Mon Sep 17 00:00:00 2001 From: ivanmorozov Date: Fri, 23 Dec 2022 20:14:47 +0300 Subject: fix service disabled case --- ydb/services/metadata/manager/abstract.cpp | 22 ++++++++++++++++++++++ ydb/services/metadata/manager/abstract.h | 12 +++--------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/ydb/services/metadata/manager/abstract.cpp b/ydb/services/metadata/manager/abstract.cpp index c2faf50d6c7..b4f788adce5 100644 --- a/ydb/services/metadata/manager/abstract.cpp +++ b/ydb/services/metadata/manager/abstract.cpp @@ -1,4 +1,5 @@ #include "abstract.h" +#include namespace NKikimr::NMetadata::NModifications { @@ -33,4 +34,25 @@ NKikimr::NMetadata::NModifications::TTableSchema& TTableSchema::AddColumn(const return *this; } +NThreading::TFuture IOperationsManager::DropObject(const NYql::TDropObjectSettings& settings, const ui32 nodeId, IClassBehaviour::TPtr manager, const TModificationContext& context) const { + if (!NMetadata::NProvider::TServiceOperator::IsEnabled()) { + return NThreading::MakeFuture("metadata provider service is disabled"); + } + return DoDropObject(settings, nodeId, manager, context); +} + +NThreading::TFuture IOperationsManager::AlterObject(const NYql::TAlterObjectSettings& settings, const ui32 nodeId, IClassBehaviour::TPtr manager, const TModificationContext& context) const { + if (!NMetadata::NProvider::TServiceOperator::IsEnabled()) { + return NThreading::MakeFuture("metadata provider service is disabled"); + } + return DoAlterObject(settings, nodeId, manager, context); +} + +NThreading::TFuture IOperationsManager::CreateObject(const NYql::TCreateObjectSettings& settings, const ui32 nodeId, IClassBehaviour::TPtr manager, const TModificationContext& context) const { + if (!NMetadata::NProvider::TServiceOperator::IsEnabled()) { + return NThreading::MakeFuture("metadata provider service is disabled"); + } + return DoCreateObject(settings, nodeId, manager, context); +} + } diff --git a/ydb/services/metadata/manager/abstract.h b/ydb/services/metadata/manager/abstract.h index c5130d9dcf5..5016eb1d84a 100644 --- a/ydb/services/metadata/manager/abstract.h +++ b/ydb/services/metadata/manager/abstract.h @@ -154,19 +154,13 @@ public: virtual ~IOperationsManager() = default; NThreading::TFuture CreateObject(const NYql::TCreateObjectSettings& settings, const ui32 nodeId, - IClassBehaviour::TPtr manager, const TModificationContext& context) const { - return DoCreateObject(settings, nodeId, manager, context); - } + IClassBehaviour::TPtr manager, const TModificationContext& context) const; NThreading::TFuture AlterObject(const NYql::TAlterObjectSettings& settings, const ui32 nodeId, - IClassBehaviour::TPtr manager, const TModificationContext& context) const { - return DoAlterObject(settings, nodeId, manager, context); - } + IClassBehaviour::TPtr manager, const TModificationContext& context) const; NThreading::TFuture DropObject(const NYql::TDropObjectSettings& settings, const ui32 nodeId, - IClassBehaviour::TPtr manager, const TModificationContext& context) const { - return DoDropObject(settings, nodeId, manager, context); - } + IClassBehaviour::TPtr manager, const TModificationContext& context) const; const TTableSchema& GetSchema() const { Y_VERIFY(!!ActualSchema); -- cgit v1.3