aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <vvvv@yandex-team.com>2025-02-07 16:43:16 +0300
committervvvv <vvvv@yandex-team.com>2025-02-07 17:53:20 +0300
commit0f6571f433e603ec6ac87e7c2be40300d0a99eb1 (patch)
tree6158ebb215bfd8a5dc1366eda4365221fee3a7b7
parentf1f926eea7fcf8945c320e5688d850776dcf9d6c (diff)
downloadydb-0f6571f433e603ec6ac87e7c2be40300d0a99eb1.tar.gz
YQL-19017 pass Antlr version via purecalc interface (for migration)
commit_hash:4bd777455780b5bfa93d45c8bc1968f5d7c3a0f8
-rw-r--r--yql/essentials/public/purecalc/common/interface.cpp1
-rw-r--r--yql/essentials/public/purecalc/common/interface.h3
-rw-r--r--yql/essentials/public/purecalc/common/program_factory.cpp9
-rw-r--r--yql/essentials/public/purecalc/common/worker_factory.cpp4
-rw-r--r--yql/essentials/public/purecalc/common/worker_factory.h6
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);
};