summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/sql_translation.cpp
diff options
context:
space:
mode:
authorvitya-smirnov <[email protected]>2025-09-29 11:00:03 +0300
committervitya-smirnov <[email protected]>2025-09-29 11:20:30 +0300
commit76daaf8d4bff79c5770bd420f418d9b393a3588e (patch)
tree7a0465afb49242c0489365dee1ed1737b38766c6 /yql/essentials/sql/v1/sql_translation.cpp
parent235c58b4db5e636d2419a06b0a0195007f09dad4 (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.cpp10
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);