diff options
author | whcrc <whcrc@yandex-team.ru> | 2022-06-30 18:39:32 +0300 |
---|---|---|
committer | whcrc <whcrc@yandex-team.ru> | 2022-06-30 18:39:32 +0300 |
commit | 81fd9ea2d075516cb0725f85118dcca474cd42e3 (patch) | |
tree | 889f846a8d5e424717781fb8c8bd597c2262d9c3 | |
parent | ccf31faee2bc0c051b65ed5899060bd597b22c70 (diff) | |
download | ydb-81fd9ea2d075516cb0725f85118dcca474cd42e3.tar.gz |
YQL-14803: hidden publish
ref:aa08bfa6ab3e8901aeadca53b92b01b5af6ea05f
-rw-r--r-- | ydb/library/yql/core/CMakeLists.txt | 5 | ||||
-rw-r--r-- | ydb/library/yql/core/facade/yql_facade.cpp | 18 | ||||
-rw-r--r-- | ydb/library/yql/core/facade/yql_facade.h | 6 | ||||
-rw-r--r-- | ydb/library/yql/core/yql_type_annotation.h | 9 |
4 files changed, 25 insertions, 13 deletions
diff --git a/ydb/library/yql/core/CMakeLists.txt b/ydb/library/yql/core/CMakeLists.txt index ff329911be..1938149266 100644 --- a/ydb/library/yql/core/CMakeLists.txt +++ b/ydb/library/yql/core/CMakeLists.txt @@ -76,3 +76,8 @@ generate_enum_serilization(library-yql-core INCLUDE_HEADERS ydb/library/yql/core/yql_atom_enums.h ) +generate_enum_serilization(library-yql-core + ${CMAKE_SOURCE_DIR}/ydb/library/yql/core/yql_type_annotation.h + INCLUDE_HEADERS + ydb/library/yql/core/yql_type_annotation.h +) diff --git a/ydb/library/yql/core/facade/yql_facade.cpp b/ydb/library/yql/core/facade/yql_facade.cpp index 6df51169ca..5157b213bb 100644 --- a/ydb/library/yql/core/facade/yql_facade.cpp +++ b/ydb/library/yql/core/facade/yql_facade.cpp @@ -184,9 +184,9 @@ TProgramPtr TProgramFactory::Create( const TString& filename, const TString& sourceCode, const TString& sessionId, - bool hidden) + EHiddenMode hiddenMode) { - auto randomProvider = UseRepeatableRandomAndTimeProviders_ && !UseUnrepeatableRandom && !hidden ? + auto randomProvider = UseRepeatableRandomAndTimeProviders_ && !UseUnrepeatableRandom && hiddenMode == EHiddenMode::Disable ? CreateDeterministicRandomProvider(1) : CreateDefaultRandomProvider(); auto timeProvider = UseRepeatableRandomAndTimeProviders_ ? CreateDeterministicTimeProvider(10000000) : CreateDefaultTimeProvider(); @@ -199,7 +199,7 @@ TProgramPtr TProgramFactory::Create( // make UserDataTable_ copy here return new TProgram(FunctionRegistry_, randomProvider, timeProvider, NextUniqueId_, DataProvidersInit_, UserDataTable_, CredentialTables_, UserCredentials_, moduleResolver, udfResolver, udfIndex, udfIndexPackageSet, FileStorage_, - GatewaysConfig_, filename, sourceCode, sessionId, Runner_, EnableRangeComputeFor_, hidden); + GatewaysConfig_, filename, sourceCode, sessionId, Runner_, EnableRangeComputeFor_, hiddenMode); } /////////////////////////////////////////////////////////////////////////////// @@ -225,7 +225,7 @@ TProgram::TProgram( const TString& sessionId, const TString& runner, bool enableRangeComputeFor, - bool hidden + EHiddenMode hiddenMode ) : FunctionRegistry_(functionRegistry) , RandomProvider_(randomProvider) @@ -251,7 +251,7 @@ TProgram::TProgram( , ResultFormat_(NYson::EYsonFormat::Binary) , OutputFormat_(NYson::EYsonFormat::Pretty) , EnableRangeComputeFor_(enableRangeComputeFor) - , Hidden_(hidden) + , HiddenMode_(hiddenMode) { if (SessionId_.empty()) { SessionId_ = CreateGuidAsString(); @@ -767,7 +767,7 @@ TProgram::TFutureStatus TProgram::RunAsync( if (!ProvideAnnotationContext(username)->Initialize(*ExprCtx_) || !CollectUsedClusters()) { return NThreading::MakeFuture<TStatus>(IGraphTransformer::TStatus::Error); } - TypeCtx_->IsReadOnly = Hidden_; + TypeCtx_->IsReadOnly = (HiddenMode_ != EHiddenMode::Disable); for (const auto& dp : DataProviders_) { if (!dp.RemoteClusterProvider || !dp.RemoteRun) { @@ -841,7 +841,7 @@ TProgram::TFutureStatus TProgram::RunAsyncWithConfig( if (!ProvideAnnotationContext(username)->Initialize(*ExprCtx_) || !CollectUsedClusters()) { return NThreading::MakeFuture<TStatus>(IGraphTransformer::TStatus::Error); } - TypeCtx_->IsReadOnly = Hidden_; + TypeCtx_->IsReadOnly = (HiddenMode_ != EHiddenMode::Disable); for (const auto& dp : DataProviders_) { if (!dp.RemoteClusterProvider || !dp.RemoteRun) { @@ -1284,7 +1284,7 @@ TTypeAnnotationContextPtr TProgram::BuildTypeAnnotationContext(const TString& us if (DiagnosticFormat_) { typeAnnotationContext->Diagnostics = true; } - typeAnnotationContext->Hidden = Hidden_; + typeAnnotationContext->HiddenMode = HiddenMode_; if (UdfIndex_ && UdfIndexPackageSet_) { // setup default versions at the beginning @@ -1307,7 +1307,7 @@ TTypeAnnotationContextPtr TProgram::BuildTypeAnnotationContext(const TString& us ProgressWriter_, OperationOptions_ ); - if (Hidden_ && !dp.SupportsHidden) { + if (HiddenMode_ != EHiddenMode::Disable && !dp.SupportsHidden) { continue; } diff --git a/ydb/library/yql/core/facade/yql_facade.h b/ydb/library/yql/core/facade/yql_facade.h index 1fd21181b7..82f8f1c22d 100644 --- a/ydb/library/yql/core/facade/yql_facade.h +++ b/ydb/library/yql/core/facade/yql_facade.h @@ -62,7 +62,7 @@ public: const TString& filename, const TString& sourceCode, const TString& sessionId = TString(), - bool hidden = false); + EHiddenMode hiddenMode = EHiddenMode::Disable); void UnrepeatableRandom(); private: @@ -319,7 +319,7 @@ private: const TString& sessionId, const TString& runner, bool enableRangeComputeFor, - bool hidden); + EHiddenMode hiddenMode); TTypeAnnotationContextPtr BuildTypeAnnotationContext(const TString& username); TTypeAnnotationContextPtr GetAnnotationContext() const; @@ -394,7 +394,7 @@ private: const bool EnableRangeComputeFor_; i64 FallbackCounter = 0; std::function<void()> BeforeFallback = [](){}; - bool Hidden_ = false; + const EHiddenMode HiddenMode_ = EHiddenMode::Disable; }; } // namspace NYql diff --git a/ydb/library/yql/core/yql_type_annotation.h b/ydb/library/yql/core/yql_type_annotation.h index 003b6bd125..6e7c10cb62 100644 --- a/ydb/library/yql/core/yql_type_annotation.h +++ b/ydb/library/yql/core/yql_type_annotation.h @@ -172,6 +172,13 @@ private: THashMap<ui64, TColumnOrder> Storage; }; +enum class EHiddenMode { + Disable /* "disable" */, + Force /* "force" */, + Debug /* "debug" */, + Auto /* "auto" */ +}; + struct TTypeAnnotationContext: public TThrRefBase { TIntrusivePtr<ITimeProvider> TimeProvider; TIntrusivePtr<IRandomProvider> RandomProvider; @@ -235,7 +242,7 @@ struct TTypeAnnotationContext: public TThrRefBase { std::tuple<std::optional<ui64>, std::optional<double>, std::optional<TGUID>> CachedRandom; std::optional<bool> InitializeResult; - bool Hidden = false; + EHiddenMode HiddenMode = EHiddenMode::Disable; template <typename T> T GetRandom() const noexcept; |