summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/format/sql_format.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-18 14:40:10 +0300
committervvvv <[email protected]>2025-02-18 15:54:36 +0300
commit408888e6801333da2d97af0b27a1c4da4448b9e0 (patch)
tree3965f436c1941bfd96f50c3f433eac54fe30c4f7 /yql/essentials/sql/v1/format/sql_format.cpp
parentee2d861a99abff8576d5f853ad8db98153d6ec91 (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.cpp49
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)},