diff options
author | vvvv <vvvv@yandex-team.com> | 2025-02-07 16:43:16 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.com> | 2025-02-07 17:53:20 +0300 |
commit | 0f6571f433e603ec6ac87e7c2be40300d0a99eb1 (patch) | |
tree | 6158ebb215bfd8a5dc1366eda4365221fee3a7b7 | |
parent | f1f926eea7fcf8945c320e5688d850776dcf9d6c (diff) | |
download | ydb-0f6571f433e603ec6ac87e7c2be40300d0a99eb1.tar.gz |
YQL-19017 pass Antlr version via purecalc interface (for migration)
commit_hash:4bd777455780b5bfa93d45c8bc1968f5d7c3a0f8
5 files changed, 18 insertions, 5 deletions
diff --git a/yql/essentials/public/purecalc/common/interface.cpp b/yql/essentials/public/purecalc/common/interface.cpp index 6783ad407e0..805fd1197b3 100644 --- a/yql/essentials/public/purecalc/common/interface.cpp +++ b/yql/essentials/public/purecalc/common/interface.cpp @@ -33,6 +33,7 @@ TProgramFactoryOptions::TProgramFactoryOptions() , NativeYtTypeFlags(0) , UseSystemColumns(false) , UseWorkerPool(true) + , UseAntlr4(false) { } diff --git a/yql/essentials/public/purecalc/common/interface.h b/yql/essentials/public/purecalc/common/interface.h index 4096195bd35..629f9fb249f 100644 --- a/yql/essentials/public/purecalc/common/interface.h +++ b/yql/essentials/public/purecalc/common/interface.h @@ -268,6 +268,9 @@ namespace NYql { /// Reuse allocated workers bool UseWorkerPool; + /// Use Antlr4 parser (for migration) + bool UseAntlr4; + public: TProgramFactoryOptions(); diff --git a/yql/essentials/public/purecalc/common/program_factory.cpp b/yql/essentials/public/purecalc/common/program_factory.cpp index ec4cbe2a87f..c27c082b83b 100644 --- a/yql/essentials/public/purecalc/common/program_factory.cpp +++ b/yql/essentials/public/purecalc/common/program_factory.cpp @@ -93,7 +93,8 @@ IPullStreamWorkerFactoryPtr TProgramFactory::MakePullStreamWorkerFactory( Options_.NativeYtTypeFlags, Options_.DeterministicTimeProviderSeed, Options_.UseSystemColumns, - Options_.UseWorkerPool + Options_.UseWorkerPool, + Options_.UseAntlr4 )); } @@ -122,7 +123,8 @@ IPullListWorkerFactoryPtr TProgramFactory::MakePullListWorkerFactory( Options_.NativeYtTypeFlags, Options_.DeterministicTimeProviderSeed, Options_.UseSystemColumns, - Options_.UseWorkerPool + Options_.UseWorkerPool, + Options_.UseAntlr4 )); } @@ -155,6 +157,7 @@ IPushStreamWorkerFactoryPtr TProgramFactory::MakePushStreamWorkerFactory( Options_.NativeYtTypeFlags, Options_.DeterministicTimeProviderSeed, Options_.UseSystemColumns, - Options_.UseWorkerPool + Options_.UseWorkerPool, + Options_.UseAntlr4 )); } diff --git a/yql/essentials/public/purecalc/common/worker_factory.cpp b/yql/essentials/public/purecalc/common/worker_factory.cpp index 19afd100b30..e75d9e58158 100644 --- a/yql/essentials/public/purecalc/common/worker_factory.cpp +++ b/yql/essentials/public/purecalc/common/worker_factory.cpp @@ -104,7 +104,7 @@ TWorkerFactory<TBase>::TWorkerFactory(TWorkerFactoryOptions options, EProcessorM } else { ExprRoot_ = Compile(options.Query, options.TranslationMode_, options.ModuleResolver, options.SyntaxVersion_, options.Modules, - options.InputSpec, options.OutputSpec, processorMode); + options.InputSpec, options.OutputSpec, options.UseAntlr4, processorMode); RawOutputType_ = GetSequenceItemType(ExprRoot_->Pos(), ExprRoot_->GetTypeAnn(), true, ExprContext_); @@ -135,6 +135,7 @@ TExprNode::TPtr TWorkerFactory<TBase>::Compile( const THashMap<TString, TString>& modules, const TInputSpecBase& inputSpec, const TOutputSpecBase& outputSpec, + bool useAntlr4, EProcessorMode processorMode ) { if (mode == ETranslationMode::PG && processorMode != EProcessorMode::PullList) { @@ -179,6 +180,7 @@ TExprNode::TPtr TWorkerFactory<TBase>::Compile( settings.SyntaxVersion = syntaxVersion; settings.V0Behavior = NSQLTranslation::EV0Behavior::Disable; settings.EmitReadsForExists = true; + settings.Antlr4Parser = useAntlr4; settings.Mode = NSQLTranslation::ESqlMode::LIMITED_VIEW; settings.DefaultCluster = PurecalcDefaultCluster; settings.ClusterMapping[settings.DefaultCluster] = PurecalcDefaultService; diff --git a/yql/essentials/public/purecalc/common/worker_factory.h b/yql/essentials/public/purecalc/common/worker_factory.h index d2600413aa9..c48fc32f951 100644 --- a/yql/essentials/public/purecalc/common/worker_factory.h +++ b/yql/essentials/public/purecalc/common/worker_factory.h @@ -32,6 +32,7 @@ namespace NYql { TMaybe<ui64> DeterministicTimeProviderSeed_; bool UseSystemColumns; bool UseWorkerPool; + bool UseAntlr4; TWorkerFactoryOptions( IProgramFactoryPtr Factory, @@ -51,7 +52,8 @@ namespace NYql { ui64 nativeYtTypeFlags, TMaybe<ui64> deterministicTimeProviderSeed, bool useSystemColumns, - bool useWorkerPool + bool useWorkerPool, + bool useAntlr4 ) : Factory(std::move(Factory)) , InputSpec(InputSpec) @@ -71,6 +73,7 @@ namespace NYql { , DeterministicTimeProviderSeed_(deterministicTimeProviderSeed) , UseSystemColumns(useSystemColumns) , UseWorkerPool(useWorkerPool) + , UseAntlr4(useAntlr4) { } }; @@ -129,6 +132,7 @@ namespace NYql { const THashMap<TString, TString>& modules, const TInputSpecBase& inputSpec, const TOutputSpecBase& outputSpec, + bool useAntlr4, EProcessorMode processorMode); }; |