diff options
author | Vasily Gerasimov <UgnineSirdis@ydb.tech> | 2024-01-04 22:37:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-04 22:37:03 +0200 |
commit | 0741f1c13ef207891b9ba391cba0a68d26b87a54 (patch) | |
tree | 0ac9631f7d85fe2867fb555a7f30c6cc633cb9d5 | |
parent | cc6cf5ce9a4267b3eacb411407625a0731acb887 (diff) | |
download | ydb-0741f1c13ef207891b9ba391cba0a68d26b87a54.tar.gz |
Support DDL in QueryService for TIER & TIERING_RULE objects (#846)
-rw-r--r-- | ydb/core/tx/tiering/rule/manager.cpp | 12 | ||||
-rw-r--r-- | ydb/core/tx/tiering/rule/manager.h | 6 | ||||
-rw-r--r-- | ydb/core/tx/tiering/tier/manager.cpp | 12 | ||||
-rw-r--r-- | ydb/core/tx/tiering/tier/manager.h | 6 | ||||
-rw-r--r-- | ydb/core/tx/tiering/ut/ut_tiers.cpp | 21 | ||||
-rw-r--r-- | ydb/services/ext_index/metadata/manager.cpp | 12 | ||||
-rw-r--r-- | ydb/services/ext_index/metadata/manager.h | 6 | ||||
-rw-r--r-- | ydb/services/metadata/initializer/manager.cpp | 12 | ||||
-rw-r--r-- | ydb/services/metadata/initializer/manager.h | 6 | ||||
-rw-r--r-- | ydb/services/metadata/secret/ut/ut_secret.cpp | 1 |
10 files changed, 19 insertions, 75 deletions
diff --git a/ydb/core/tx/tiering/rule/manager.cpp b/ydb/core/tx/tiering/rule/manager.cpp index 0e543098a7..bdcfac875c 100644 --- a/ydb/core/tx/tiering/rule/manager.cpp +++ b/ydb/core/tx/tiering/rule/manager.cpp @@ -30,16 +30,4 @@ NMetadata::NModifications::TOperationParsingResult TTieringRulesManager::DoBuild return result; } -NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus TTieringRulesManager::DoPrepare(NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, const NYql::TObjectSettingsImpl& /*settings*/, - const NMetadata::IClassBehaviour::TPtr& /*manager*/, NMetadata::NModifications::IOperationsManager::TInternalModificationContext& /*context*/) const { - return NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Prepare operations for TIERING_RULE objects are not supported"); -} - -NThreading::TFuture<NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus> TTieringRulesManager::ExecutePrepared(const NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, - const ui32 /*nodeId*/, const NMetadata::IClassBehaviour::TPtr& /*manager*/, const IOperationsManager::TExternalModificationContext& /*context*/) const { - return NThreading::MakeFuture(NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Execution of prepare operations for TIERING_RULE objects is not supported")); -} - } diff --git a/ydb/core/tx/tiering/rule/manager.h b/ydb/core/tx/tiering/rule/manager.h index 45057cfa04..3268c90021 100644 --- a/ydb/core/tx/tiering/rule/manager.h +++ b/ydb/core/tx/tiering/rule/manager.h @@ -13,12 +13,6 @@ protected: virtual NMetadata::NModifications::TOperationParsingResult DoBuildPatchFromSettings(const NYql::TObjectSettingsImpl& settings, TInternalModificationContext& context) const override; - - virtual IOperationsManager::TYqlConclusionStatus DoPrepare(NKqpProto::TKqpSchemeOperation& schemeOperation, const NYql::TObjectSettingsImpl& settings, - const NMetadata::IClassBehaviour::TPtr& manager, IOperationsManager::TInternalModificationContext& context) const override; - - virtual NThreading::TFuture<IOperationsManager::TYqlConclusionStatus> ExecutePrepared(const NKqpProto::TKqpSchemeOperation& schemeOperation, - const ui32 nodeId, const NMetadata::IClassBehaviour::TPtr& manager, const IOperationsManager::TExternalModificationContext& context) const override; }; } diff --git a/ydb/core/tx/tiering/tier/manager.cpp b/ydb/core/tx/tiering/tier/manager.cpp index 7c657b3df1..d9e9834f97 100644 --- a/ydb/core/tx/tiering/tier/manager.cpp +++ b/ydb/core/tx/tiering/tier/manager.cpp @@ -67,16 +67,4 @@ void TTiersManager::DoPrepareObjectsBeforeModification(std::vector<TTierConfig>& TActivationContext::Register(new TTierPreparationActor(std::move(patchedObjects), controller, context)); } -NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus TTiersManager::DoPrepare(NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, const NYql::TObjectSettingsImpl& /*settings*/, - const NMetadata::IClassBehaviour::TPtr& /*manager*/, NMetadata::NModifications::IOperationsManager::TInternalModificationContext& /*context*/) const { - return NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Prepare operations for TIER objects are not supported"); -} - -NThreading::TFuture<NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus> TTiersManager::ExecutePrepared(const NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, - const ui32 /*nodeId*/, const NMetadata::IClassBehaviour::TPtr& /*manager*/, const IOperationsManager::TExternalModificationContext& /*context*/) const { - return NThreading::MakeFuture(NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Execution of prepare operations for TIER objects is not supported")); -} - } diff --git a/ydb/core/tx/tiering/tier/manager.h b/ydb/core/tx/tiering/tier/manager.h index 547e06ef00..ba77764813 100644 --- a/ydb/core/tx/tiering/tier/manager.h +++ b/ydb/core/tx/tiering/tier/manager.h @@ -13,12 +13,6 @@ protected: virtual NMetadata::NModifications::TOperationParsingResult DoBuildPatchFromSettings(const NYql::TObjectSettingsImpl& settings, TInternalModificationContext& context) const override; - - virtual IOperationsManager::TYqlConclusionStatus DoPrepare(NKqpProto::TKqpSchemeOperation& schemeOperation, const NYql::TObjectSettingsImpl& settings, - const NMetadata::IClassBehaviour::TPtr& manager, IOperationsManager::TInternalModificationContext& context) const override; - - virtual NThreading::TFuture<IOperationsManager::TYqlConclusionStatus> ExecutePrepared(const NKqpProto::TKqpSchemeOperation& schemeOperation, - const ui32 nodeId, const NMetadata::IClassBehaviour::TPtr& manager, const IOperationsManager::TExternalModificationContext& context) const override; public: }; diff --git a/ydb/core/tx/tiering/ut/ut_tiers.cpp b/ydb/core/tx/tiering/ut/ut_tiers.cpp index 4bf015a08b..40e45ecd04 100644 --- a/ydb/core/tx/tiering/ut/ut_tiers.cpp +++ b/ydb/core/tx/tiering/ut/ut_tiers.cpp @@ -395,19 +395,23 @@ Y_UNIT_TEST_SUITE(ColumnShardTiers) { } } - Y_UNIT_TEST(DSConfigs) { + void DSConfigsImpl(bool useQueryService) { TPortManager pm; ui32 grpcPort = pm.GetPort(); ui32 msgbPort = pm.GetPort(); + NKikimrConfig::TAppConfig appConfig; + appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + Tests::TServerSettings serverSettings(msgbPort); serverSettings.Port = msgbPort; serverSettings.GrpcPort = grpcPort; serverSettings.SetDomainName("Root") .SetUseRealThreads(false) .SetEnableMetadataProvider(true) - .SetForceColumnTablesCompositeMarks(true); + .SetForceColumnTablesCompositeMarks(true) + .SetAppConfig(appConfig); Tests::TServer::TPtr server = new Tests::TServer(serverSettings); server->EnableGRpc(grpcPort); @@ -418,6 +422,8 @@ Y_UNIT_TEST_SUITE(ColumnShardTiers) { auto sender = runtime.AllocateEdgeActor(); server->SetupRootStoragePools(sender); TLocalHelper lHelper(*server); + lHelper.SetUseQueryService(useQueryService); + lHelper.CreateTestOlapTable("olapTable"); runtime.SetLogPriority(NKikimrServices::TX_DATASHARD, NLog::PRI_NOTICE); @@ -436,7 +442,7 @@ Y_UNIT_TEST_SUITE(ColumnShardTiers) { } lHelper.StartSchemaRequest("CREATE OBJECT tier2 (TYPE TIER) WITH tierConfig = `" + GetConfigProtoWithName("abc2") + "`"); - lHelper.StartSchemaRequest("CREATE OBJECT tiering1 (TYPE TIERING_RULE) " + lHelper.StartSchemaRequest("CREATE OBJECT IF NOT EXISTS tiering1 (TYPE TIERING_RULE) " "WITH (defaultColumn = timestamp, description = `" + ConfigTiering1Str + "`)"); lHelper.StartSchemaRequest("CREATE OBJECT tiering2 (TYPE TIERING_RULE) " "WITH (defaultColumn = timestamp, description = `" + ConfigTiering2Str + "` )", true, false); @@ -473,6 +479,15 @@ Y_UNIT_TEST_SUITE(ColumnShardTiers) { //runtime.SetLogPriority(NKikimrServices::TX_PROXY, NLog::PRI_TRACE); //runtime.SetLogPriority(NKikimrServices::KQP_YQL, NLog::PRI_TRACE); } + + Y_UNIT_TEST(DSConfigs) { + DSConfigsImpl(false); + } + + Y_UNIT_TEST(DSConfigsWithQueryServiceDdl) { + DSConfigsImpl(true); + } + //#define S3_TEST_USAGE #ifdef S3_TEST_USAGE const TString TierConfigProtoStr = diff --git a/ydb/services/ext_index/metadata/manager.cpp b/ydb/services/ext_index/metadata/manager.cpp index adebe4f71c..9e7b701287 100644 --- a/ydb/services/ext_index/metadata/manager.cpp +++ b/ydb/services/ext_index/metadata/manager.cpp @@ -90,16 +90,4 @@ NModifications::TOperationParsingResult TManager::DoBuildPatchFromSettings(const } } -NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus TManager::DoPrepare(NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, const NYql::TObjectSettingsImpl& /*settings*/, - const NMetadata::IClassBehaviour::TPtr& /*manager*/, NMetadata::NModifications::IOperationsManager::TInternalModificationContext& /*context*/) const { - return NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Prepare operations for CS_EXT_INDEX objects are not supported"); -} - -NThreading::TFuture<NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus> TManager::ExecutePrepared(const NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, - const ui32 /*nodeId*/, const NMetadata::IClassBehaviour::TPtr& /*manager*/, const IOperationsManager::TExternalModificationContext& /*context*/) const { - return NThreading::MakeFuture(NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Execution of prepare operations for CS_EXT_INDEX objects is not supported")); -} - } diff --git a/ydb/services/ext_index/metadata/manager.h b/ydb/services/ext_index/metadata/manager.h index 70bf635755..8a97b4e561 100644 --- a/ydb/services/ext_index/metadata/manager.h +++ b/ydb/services/ext_index/metadata/manager.h @@ -15,12 +15,6 @@ protected: virtual NModifications::TOperationParsingResult DoBuildPatchFromSettings( const NYql::TObjectSettingsImpl& settings, TInternalModificationContext& context) const override; - virtual IOperationsManager::TYqlConclusionStatus DoPrepare(NKqpProto::TKqpSchemeOperation& schemeOperation, const NYql::TObjectSettingsImpl& settings, - const NMetadata::IClassBehaviour::TPtr& manager, IOperationsManager::TInternalModificationContext& context) const override; - - virtual NThreading::TFuture<IOperationsManager::TYqlConclusionStatus> ExecutePrepared(const NKqpProto::TKqpSchemeOperation& schemeOperation, - const ui32 nodeId, const NMetadata::IClassBehaviour::TPtr& manager, const IOperationsManager::TExternalModificationContext& context) const override; - public: }; diff --git a/ydb/services/metadata/initializer/manager.cpp b/ydb/services/metadata/initializer/manager.cpp index 3d6a1c54da..0856618f2e 100644 --- a/ydb/services/metadata/initializer/manager.cpp +++ b/ydb/services/metadata/initializer/manager.cpp @@ -17,16 +17,4 @@ NModifications::TOperationParsingResult TManager::DoBuildPatchFromSettings( return result; } -NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus TManager::DoPrepare(NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, const NYql::TObjectSettingsImpl& /*settings*/, - const NMetadata::IClassBehaviour::TPtr& /*manager*/, NMetadata::NModifications::IOperationsManager::TInternalModificationContext& /*context*/) const { - return NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Prepare operations for INITIALIZATION objects are not supported"); -} - -NThreading::TFuture<NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus> TManager::ExecutePrepared(const NKqpProto::TKqpSchemeOperation& /*schemeOperation*/, - const ui32 /*nodeId*/, const NMetadata::IClassBehaviour::TPtr& /*manager*/, const IOperationsManager::TExternalModificationContext& /*context*/) const { - return NThreading::MakeFuture(NMetadata::NModifications::IOperationsManager::TYqlConclusionStatus::Fail( - "Execution of prepare operations for INITIALIZATION objects is not supported")); -} - } diff --git a/ydb/services/metadata/initializer/manager.h b/ydb/services/metadata/initializer/manager.h index 3c4b04f783..036227b7b3 100644 --- a/ydb/services/metadata/initializer/manager.h +++ b/ydb/services/metadata/initializer/manager.h @@ -20,12 +20,6 @@ protected: virtual NModifications::TOperationParsingResult DoBuildPatchFromSettings(const NYql::TObjectSettingsImpl& /*settings*/, TInternalModificationContext& context) const override; - virtual IOperationsManager::TYqlConclusionStatus DoPrepare(NKqpProto::TKqpSchemeOperation& schemeOperation, const NYql::TObjectSettingsImpl& settings, - const NMetadata::IClassBehaviour::TPtr& manager, IOperationsManager::TInternalModificationContext& context) const override; - - virtual NThreading::TFuture<IOperationsManager::TYqlConclusionStatus> ExecutePrepared(const NKqpProto::TKqpSchemeOperation& schemeOperation, - const ui32 nodeId, const NMetadata::IClassBehaviour::TPtr& manager, const IOperationsManager::TExternalModificationContext& context) const override; - public: }; diff --git a/ydb/services/metadata/secret/ut/ut_secret.cpp b/ydb/services/metadata/secret/ut/ut_secret.cpp index 7a5fc1cf6b..29799fb20c 100644 --- a/ydb/services/metadata/secret/ut/ut_secret.cpp +++ b/ydb/services/metadata/secret/ut/ut_secret.cpp @@ -291,6 +291,7 @@ Y_UNIT_TEST_SUITE(Secret) { lHelper.StartSchemaRequest("ALTER OBJECT secret1 (TYPE SECRET) SET value = `abcde`"); lHelper.StartSchemaRequest("CREATE OBJECT `secret1:test@test1` (TYPE SECRET_ACCESS)"); lHelper.StartSchemaRequest("CREATE OBJECT `secret2:test@test1` (TYPE SECRET_ACCESS)", false); + lHelper.StartSchemaRequest("CREATE OBJECT IF NOT EXISTS `secret1:test@test1` (TYPE SECRET_ACCESS)"); lHelper.StartSchemaRequest("DROP OBJECT `secret1` (TYPE SECRET)", false); lHelper.StartDataRequest("SELECT * FROM `/Root/.metadata/secrets/values`", false); { |