diff options
author | kndrvt <[email protected]> | 2025-06-20 15:36:52 +0300 |
---|---|---|
committer | kndrvt <[email protected]> | 2025-06-20 16:07:13 +0300 |
commit | 935e53d2a9ee4b43cc0548ba836b23c003c8078e (patch) | |
tree | 99fa1a3b091548f8f2d974f443b45847b9e66a1b /yql/essentials/tools/sql2yql/sql2yql.cpp | |
parent | 532fb55c30629ecb7b2720b02d446ea89ac76917 (diff) |
YQL-17269: support INTERSECT and EXCEPT without PositionalUnionAll
commit_hash:632e24794e8bcf6ef0502b7e8c031e964d28d36a
Diffstat (limited to 'yql/essentials/tools/sql2yql/sql2yql.cpp')
-rw-r--r-- | yql/essentials/tools/sql2yql/sql2yql.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/yql/essentials/tools/sql2yql/sql2yql.cpp b/yql/essentials/tools/sql2yql/sql2yql.cpp index 7ac7615fb40..03198612fdb 100644 --- a/yql/essentials/tools/sql2yql/sql2yql.cpp +++ b/yql/essentials/tools/sql2yql/sql2yql.cpp @@ -204,11 +204,20 @@ int BuildAST(int argc, char* argv[]) { TString queryString; ui16 syntaxVersion; TString outFileNameFormat; + NYql::TLangVersion langVer; THashMap<TString, TString> clusterMapping; clusterMapping["plato"] = NYql::YtProviderName; clusterMapping["pg_catalog"] = NYql::PgProviderName; clusterMapping["information_schema"] = NYql::PgProviderName; + auto langVerHandler = [&langVer](const TString& str) { + if (str == "unknown") { + langVer = NYql::UnknownLangVersion; + } else if (!NYql::ParseLangVersion(str, langVer)) { + throw yexception() << "Failed to parse language version: " << str; + } + }; + THashSet<TString> flags; opts.AddLongOption('o', "output", "save output to file").RequiredArgument("file").StoreResult(&outFileName); @@ -234,6 +243,7 @@ int BuildAST(int argc, char* argv[]) { opts.AddLongOption("test-lexers", "check other lexers").NoArgument(); opts.AddLongOption("test-complete", "check completion engine").NoArgument(); opts.AddLongOption("format-output", "Saves formatted query to it").RequiredArgument("format-output").StoreResult(&outFileNameFormat); + opts.AddLongOption("langver", "Set current language version").Optional().RequiredArgument("VER").Handler1T<TString>(langVerHandler); opts.SetFreeArgDefaultTitle("query file"); opts.AddHelpOption(); @@ -310,6 +320,7 @@ int BuildAST(int argc, char* argv[]) { google::protobuf::Arena arena; NSQLTranslation::TTranslationSettings settings; settings.Arena = &arena; + settings.LangVer = langVer; settings.ClusterMapping = clusterMapping; settings.Flags = flags; settings.SyntaxVersion = syntaxVersion; |