@@ -230,6 +230,7 @@ func (v *Dict) String() string {
230230func (v * Dict ) Yql () string {
231231 buffer := xstring .Buffer ()
232232 defer buffer .Free ()
233+
233234 buffer .WriteString ("Dict<" )
234235 buffer .WriteString (v .keyType .Yql ())
235236 buffer .WriteByte (',' )
@@ -244,9 +245,11 @@ func (v *Dict) equalsTo(rhs Type) bool {
244245 if ! ok {
245246 return false
246247 }
248+
247249 if ! v .keyType .equalsTo (vv .keyType ) {
248250 return false
249251 }
252+
250253 if ! v .valueType .equalsTo (vv .valueType ) {
251254 return false
252255 }
@@ -639,15 +642,19 @@ func (v *Struct) String() string {
639642func (v * Struct ) Yql () string {
640643 buffer := xstring .Buffer ()
641644 defer buffer .Free ()
645+
642646 buffer .WriteString ("Struct<" )
647+
643648 for i := range v .fields {
644649 if i > 0 {
645650 buffer .WriteByte (',' )
646651 }
652+
647653 buffer .WriteString ("'" + v .fields [i ].Name + "'" )
648654 buffer .WriteByte (':' )
649655 buffer .WriteString (v .fields [i ].T .Yql ())
650656 }
657+
651658 buffer .WriteByte ('>' )
652659
653660 return buffer .String ()
@@ -658,13 +665,16 @@ func (v *Struct) equalsTo(rhs Type) bool {
658665 if ! ok {
659666 return false
660667 }
668+
661669 if len (v .fields ) != len (vv .fields ) {
662670 return false
663671 }
672+
664673 for i := range v .fields {
665674 if v .fields [i ].Name != vv .fields [i ].Name {
666675 return false
667676 }
677+
668678 if ! v .fields [i ].T .equalsTo (vv .fields [i ].T ) {
669679 return false
670680 }
@@ -675,6 +685,7 @@ func (v *Struct) equalsTo(rhs Type) bool {
675685
676686func (v * Struct ) ToYDB () * Ydb.Type {
677687 t := & Ydb.Type {}
688+
678689 structType := & Ydb.StructType {}
679690 for i := range v .fields {
680691 member := & Ydb.StructMember {
@@ -683,6 +694,7 @@ func (v *Struct) ToYDB() *Ydb.Type {
683694 }
684695 structType .Members = append (structType .Members , member )
685696 }
697+
686698 t .Type = & Ydb.Type_StructType {
687699 StructType : structType ,
688700 }
@@ -727,13 +739,17 @@ func (v *Tuple) String() string {
727739func (v * Tuple ) Yql () string {
728740 buffer := xstring .Buffer ()
729741 defer buffer .Free ()
742+
730743 buffer .WriteString ("Tuple<" )
744+
731745 for i , t := range v .innerTypes {
732746 if i > 0 {
733747 buffer .WriteByte (',' )
734748 }
749+
735750 buffer .WriteString (t .Yql ())
736751 }
752+
737753 buffer .WriteByte ('>' )
738754
739755 return buffer .String ()
@@ -744,9 +760,11 @@ func (v *Tuple) equalsTo(rhs Type) bool {
744760 if ! ok {
745761 return false
746762 }
763+
747764 if len (v .innerTypes ) != len (vv .innerTypes ) {
748765 return false
749766 }
767+
750768 for i := range v .innerTypes {
751769 if ! v .innerTypes [i ].equalsTo (vv .innerTypes [i ]) {
752770 return false
@@ -761,11 +779,14 @@ func (v *Tuple) ToYDB() *Ydb.Type {
761779 if v != nil {
762780 items = v .innerTypes
763781 }
782+
764783 t := & Ydb.Type {}
784+
765785 tupleType := & Ydb.TupleType {}
766786 for _ , vv := range items {
767787 tupleType .Elements = append (tupleType .Elements , vv .ToYDB ())
768788 }
789+
769790 t .Type = & Ydb.Type_TupleType {
770791 TupleType : tupleType ,
771792 }
@@ -786,15 +807,19 @@ type VariantStruct struct {
786807func (v * VariantStruct ) Yql () string {
787808 buffer := xstring .Buffer ()
788809 defer buffer .Free ()
810+
789811 buffer .WriteString ("Variant<" )
812+
790813 for i := range v .fields {
791814 if i > 0 {
792815 buffer .WriteByte (',' )
793816 }
817+
794818 buffer .WriteString ("'" + v .fields [i ].Name + "'" )
795819 buffer .WriteByte (':' )
796820 buffer .WriteString (v .fields [i ].T .Yql ())
797821 }
822+
798823 buffer .WriteByte ('>' )
799824
800825 return buffer .String ()
@@ -838,13 +863,17 @@ type VariantTuple struct {
838863func (v * VariantTuple ) Yql () string {
839864 buffer := xstring .Buffer ()
840865 defer buffer .Free ()
866+
841867 buffer .WriteString ("Variant<" )
868+
842869 for i , t := range v .innerTypes {
843870 if i > 0 {
844871 buffer .WriteByte (',' )
845872 }
873+
846874 buffer .WriteString (t .Yql ())
847875 }
876+
848877 buffer .WriteByte ('>' )
849878
850879 return buffer .String ()
0 commit comments