diff options
| author | vitya-smirnov <[email protected]> | 2025-09-29 11:00:03 +0300 |
|---|---|---|
| committer | vitya-smirnov <[email protected]> | 2025-09-29 11:20:30 +0300 |
| commit | 76daaf8d4bff79c5770bd420f418d9b393a3588e (patch) | |
| tree | 7a0465afb49242c0489365dee1ed1737b38766c6 /yql/essentials/sql/v1/sql_translation.cpp | |
| parent | 235c58b4db5e636d2419a06b0a0195007f09dad4 (diff) | |
YQL-20461: Normalize table function names
So now both `AsTable` and `AS_TABLE` work.
commit_hash:ae8c33f44e7b10de02a9d979373f4b0602ff0b12
Diffstat (limited to 'yql/essentials/sql/v1/sql_translation.cpp')
| -rw-r--r-- | yql/essentials/sql/v1/sql_translation.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/yql/essentials/sql/v1/sql_translation.cpp b/yql/essentials/sql/v1/sql_translation.cpp index 8f24599cfae..40d7a88776b 100644 --- a/yql/essentials/sql/v1/sql_translation.cpp +++ b/yql/essentials/sql/v1/sql_translation.cpp @@ -1459,9 +1459,15 @@ TMaybe<TSourcePtr> TSqlTranslation::AsTableImpl(const TRule_table_ref& node) { if (block.Alt_case() == TRule_table_ref::TBlock3::kAlt2) { auto& alt = block.GetAlt2(); - TCiString func(Id(alt.GetRule_an_id_expr1(), *this)); - if (func == "as_table") { + TString func = Id(alt.GetRule_an_id_expr1(), *this); + if (auto issue = NormalizeName(Ctx_.Pos(), func)) { + Error() << issue->GetMessage(); + Ctx_.IncrementMonCounter("sql_errors", "NormalizeTableFunctionError"); + return nullptr; + } + + if (func == "astable") { if (node.HasBlock1()) { Ctx_.Error() << "Cluster shouldn't be specified for AS_TABLE source"; return TMaybe<TSourcePtr>(nullptr); |
