diff options
| author | vvvv <[email protected]> | 2025-02-16 01:37:05 +0300 |
|---|---|---|
| committer | vvvv <[email protected]> | 2025-02-16 01:52:10 +0300 |
| commit | 802da2736bf00631aa408e495b80d6e125f10a9f (patch) | |
| tree | 054610611d17d22a8b2677e9c9f8ae5ec6e0eeef /yql/essentials/core/yql_library_compiler.cpp | |
| parent | b49c2fc9d96aa43f8f993a9e2f037209f0ebdb68 (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.cpp | 14 |
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); +} + } |
