aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <vvvv@ydb.tech>2023-02-17 19:15:37 +0300
committervvvv <vvvv@ydb.tech>2023-02-17 19:15:37 +0300
commit6e9a0973df677fc99a797c1b48c579b71d2c46a1 (patch)
tree7d07dd89661642cdcd8f16fc98d3d9277fb9de4d
parent458c063b727f8f733c8d546deeadc8025a5eb8b9 (diff)
downloadydb-6e9a0973df677fc99a797c1b48c579b71d2c46a1.tar.gz
test for user libraries
-rw-r--r--ydb/library/yql/core/yql_library_compiler.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/ydb/library/yql/core/yql_library_compiler.cpp b/ydb/library/yql/core/yql_library_compiler.cpp
index c5cf012d7a..7145b8c715 100644
--- a/ydb/library/yql/core/yql_library_compiler.cpp
+++ b/ydb/library/yql/core/yql_library_compiler.cpp
@@ -1,6 +1,8 @@
#include "yql_library_compiler.h"
#include "yql_expr_optimize.h"
+#include <ydb/library/yql/sql/sql.h>
+
#include <util/system/file.h>
#include <unordered_set>
@@ -89,7 +91,15 @@ bool OptimizeLibrary(TLibraryCohesion& cohesion, TExprContext& ctx) {
bool CompileLibrary(const TString& alias, const TString& script, TExprContext& ctx, TLibraryCohesion& cohesion, bool optimize)
{
- const auto& res = ParseAst(script, nullptr, alias);
+ TAstParseResult res;
+ if (alias.EndsWith(".sql")) {
+ NSQLTranslation::TTranslationSettings translationSettings;
+ translationSettings.SyntaxVersion = 1;
+ translationSettings.Mode = NSQLTranslation::ESqlMode::LIBRARY;
+ res = NSQLTranslation::SqlToYql(script, translationSettings);
+ } else {
+ res = ParseAst(script, nullptr, alias);
+ }
if (!res.IsOk()) {
for (const auto& originalError : res.Issues) {
TIssue error(originalError);