diff options
Diffstat (limited to 'yql/essentials/sql/settings/translation_settings.cpp')
| -rw-r--r-- | yql/essentials/sql/settings/translation_settings.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/yql/essentials/sql/settings/translation_settings.cpp b/yql/essentials/sql/settings/translation_settings.cpp index 81cf2785150..02fd18501b2 100644 --- a/yql/essentials/sql/settings/translation_settings.cpp +++ b/yql/essentials/sql/settings/translation_settings.cpp @@ -6,6 +6,7 @@ #include <library/cpp/deprecated/split/split_iterator.h> +#include <util/string/cast.h> #include <util/string/split.h> #include <util/string/join.h> #include <util/system/env.h> @@ -33,7 +34,7 @@ public: }; [[noreturn]] TString ThrowBad(TStringBuf flag, const TVector<TString>& args) { - YQL_ENSURE(false, "Bad " << flag << "args [" << JoinSeq(", ", args) << "]"); + YQL_ENSURE(false, "Bad " << flag << " args [" << JoinSeq(", ", args) << "]"); } } // namespace @@ -188,6 +189,21 @@ void ParseTranslationSettings(const TExtendedSqlFlags& flags, TTranslationSettin } }, }, + { + "MaxParseTreeDepth", + [](const TVector<TString>& args, TTranslationSettings& s) { + if (args.size() != 1) { + ThrowBad("MaxParseTreeDepth", args); + } + + size_t value = 0; + if (!TryFromString(args[0], value)) { + ThrowBad("MaxParseTreeDepth", args); + } + + s.MaxParseTreeDepth = value; + }, + }, }; for (const auto& [flag, args] : flags) { |
