summaryrefslogtreecommitdiffstats
path: root/yql/essentials/core/yql_library_compiler.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-16 01:37:05 +0300
committervvvv <[email protected]>2025-02-16 01:52:10 +0300
commit802da2736bf00631aa408e495b80d6e125f10a9f (patch)
tree054610611d17d22a8b2677e9c9f8ae5ec6e0eeef /yql/essentials/core/yql_library_compiler.cpp
parentb49c2fc9d96aa43f8f993a9e2f037209f0ebdb68 (diff)
refactor SQL translators YQL-19594
commit_hash:401d21dd23ee9bb7ee52b2fc42e596cb3e4bdda7
Diffstat (limited to 'yql/essentials/core/yql_library_compiler.cpp')
-rw-r--r--yql/essentials/core/yql_library_compiler.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/yql/essentials/core/yql_library_compiler.cpp b/yql/essentials/core/yql_library_compiler.cpp
index 57265ab7e18..90824e19cf4 100644
--- a/yql/essentials/core/yql_library_compiler.cpp
+++ b/yql/essentials/core/yql_library_compiler.cpp
@@ -89,14 +89,15 @@ bool OptimizeLibrary(TLibraryCohesion& cohesion, TExprContext& ctx) {
return true;
}
-bool CompileLibrary(const TString& alias, const TString& script, TExprContext& ctx, TLibraryCohesion& cohesion, bool optimize)
+bool CompileLibrary(const NSQLTranslation::TTranslators& translators, const TString& alias,
+ const TString& script, TExprContext& ctx, TLibraryCohesion& cohesion, bool optimize)
{
TAstParseResult res;
if (alias.EndsWith(".sql")) {
NSQLTranslation::TTranslationSettings translationSettings;
translationSettings.SyntaxVersion = 1;
translationSettings.Mode = NSQLTranslation::ESqlMode::LIBRARY;
- res = NSQLTranslation::SqlToYql(script, translationSettings);
+ res = NSQLTranslation::SqlToYql(translators, script, translationSettings);
} else {
res = ParseAst(script, nullptr, alias);
}
@@ -198,7 +199,8 @@ bool LinkLibraries(THashMap<TString, TLibraryCohesion>& libs, TExprContext& ctx,
return true;
}
-bool CompileLibraries(const TUserDataTable& userData, TExprContext& ctx, TModulesTable& modules, bool optimize)
+bool CompileLibraries(const NSQLTranslation::TTranslators& translators, const TUserDataTable& userData,
+ TExprContext& ctx, TModulesTable& modules, bool optimize)
{
THashMap<TString, TLibraryCohesion> libs;
for (const auto& data : userData) {
@@ -212,7 +214,7 @@ bool CompileLibraries(const TUserDataTable& userData, TExprContext& ctx, TModule
}
if (!libraryData.empty()) {
- if (CompileLibrary(alias, libraryData, ctx, libs[alias], optimize))
+ if (CompileLibrary(translators, alias, libraryData, ctx, libs[alias], optimize))
modules[TModuleResolver::NormalizeModuleName(alias)] = libs[alias].Exports;
else
return false;
@@ -223,4 +225,8 @@ bool CompileLibraries(const TUserDataTable& userData, TExprContext& ctx, TModule
return LinkLibraries(libs, ctx, ctx);
}
+bool CompileLibraries(const TUserDataTable& userData, TExprContext& ctx, TModulesTable& modules, bool optimize) {
+ return CompileLibraries(NSQLTranslation::MakeAllTranslators(), userData, ctx, modules, optimize);
+}
+
}