diff options
author | vvvv <[email protected]> | 2025-02-18 14:40:10 +0300 |
---|---|---|
committer | vvvv <[email protected]> | 2025-02-18 15:54:36 +0300 |
commit | 408888e6801333da2d97af0b27a1c4da4448b9e0 (patch) | |
tree | 3965f436c1941bfd96f50c3f433eac54fe30c4f7 /yql/essentials/sql/v1/format/sql_format.cpp | |
parent | ee2d861a99abff8576d5f853ad8db98153d6ec91 (diff) |
YQL-19612 format for value_constructor
commit_hash:d31d086ec6fffa8aff47fc22a3921e2a15cd9008
Diffstat (limited to 'yql/essentials/sql/v1/format/sql_format.cpp')
-rw-r--r-- | yql/essentials/sql/v1/format/sql_format.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/format/sql_format.cpp b/yql/essentials/sql/v1/format/sql_format.cpp index 444d3925ce4..c6a9aa1cb78 100644 --- a/yql/essentials/sql/v1/format/sql_format.cpp +++ b/yql/essentials/sql/v1/format/sql_format.cpp @@ -747,6 +747,54 @@ private: } } + void VisitValueConstructor(const TRule_value_constructor& msg) { + switch (msg.Alt_case()) { + case TRule_value_constructor::kAltValueConstructor1: { + auto& ctor = msg.GetAlt_value_constructor1(); + Scopes.push_back(EScope::TypeName); + Visit(ctor.GetToken1()); + Scopes.pop_back(); + AfterInvokeExpr = true; + Visit(ctor.GetToken2()); + Visit(ctor.GetRule_expr3()); + Visit(ctor.GetToken4()); + Visit(ctor.GetRule_expr5()); + Visit(ctor.GetToken6()); + Visit(ctor.GetRule_expr7()); + Visit(ctor.GetToken8()); + break; + } + case TRule_value_constructor::kAltValueConstructor2: { + auto& ctor = msg.GetAlt_value_constructor2(); + Scopes.push_back(EScope::TypeName); + Visit(ctor.GetToken1()); + Scopes.pop_back(); + AfterInvokeExpr = true; + Visit(ctor.GetToken2()); + Visit(ctor.GetRule_expr3()); + Visit(ctor.GetToken4()); + Visit(ctor.GetRule_expr5()); + Visit(ctor.GetToken6()); + break; + } + case TRule_value_constructor::kAltValueConstructor3: { + auto& ctor = msg.GetAlt_value_constructor3(); + Scopes.push_back(EScope::TypeName); + Visit(ctor.GetToken1()); + Scopes.pop_back(); + AfterInvokeExpr = true; + Visit(ctor.GetToken2()); + Visit(ctor.GetRule_expr3()); + Visit(ctor.GetToken4()); + Visit(ctor.GetRule_expr5()); + Visit(ctor.GetToken6()); + break; + } + case TRule_value_constructor::ALT_NOT_SET: + Y_ABORT("You should change implementation according to grammar changes"); + } + } + void VisitDefineActionOrSubqueryBody(const TRule_define_action_or_subquery_body& msg) { SkipSemicolons(msg.GetBlock1()); if (msg.HasBlock2()) { @@ -2913,6 +2961,7 @@ TStaticData::TStaticData() }) , PrettyVisitDispatch({ {TToken::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitToken)}, + {TRule_value_constructor::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitValueConstructor)}, {TRule_into_values_source::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitIntoValuesSource)}, {TRule_select_kind::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitSelectKind)}, {TRule_process_core::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitProcessCore)}, |