@@ -3,6 +3,7 @@ package params
33import (
44 "github.com/ydb-platform/ydb-go-sdk/v3/internal/types"
55 "github.com/ydb-platform/ydb-go-sdk/v3/internal/value"
6+ "time"
67)
78
89type (
@@ -39,21 +40,155 @@ func (vtt *variantTupleTypes) AddTypes(args ...types.Type) *variantTupleTypes {
3940 return vtt
4041}
4142
42- // EACH TYPE
43+ func (vtt * variantTupleTypes ) Text () * variantTupleTypes {
44+ vtt .tuple .types = append (vtt .tuple .types , types .Text )
45+
46+ return vtt
47+ }
48+
49+ func (vtt * variantTupleTypes ) Bytes () * variantTupleTypes {
50+ vtt .tuple .types = append (vtt .tuple .types , types .Bytes )
51+
52+ return vtt
53+ }
4354
4455func (vtt * variantTupleTypes ) Bool () * variantTupleTypes {
4556 vtt .tuple .types = append (vtt .tuple .types , types .Bool )
4657
4758 return vtt
4859}
4960
61+ func (vtt * variantTupleTypes ) Uint64 () * variantTupleTypes {
62+ vtt .tuple .types = append (vtt .tuple .types , types .Uint64 )
63+
64+ return vtt
65+ }
66+
5067func (vtt * variantTupleTypes ) Int64 () * variantTupleTypes {
5168 vtt .tuple .types = append (vtt .tuple .types , types .Int64 )
5269
5370 return vtt
5471}
5572
56- //
73+ func (vtt * variantTupleTypes ) Uint32 () * variantTupleTypes {
74+ vtt .tuple .types = append (vtt .tuple .types , types .Uint32 )
75+
76+ return vtt
77+ }
78+
79+ func (vtt * variantTupleTypes ) Int32 () * variantTupleTypes {
80+ vtt .tuple .types = append (vtt .tuple .types , types .Int32 )
81+
82+ return vtt
83+ }
84+
85+ func (vtt * variantTupleTypes ) Uint16 () * variantTupleTypes {
86+ vtt .tuple .types = append (vtt .tuple .types , types .Uint16 )
87+
88+ return vtt
89+ }
90+
91+ func (vtt * variantTupleTypes ) Int16 () * variantTupleTypes {
92+ vtt .tuple .types = append (vtt .tuple .types , types .Int16 )
93+
94+ return vtt
95+ }
96+
97+ func (vtt * variantTupleTypes ) Uint8 () * variantTupleTypes {
98+ vtt .tuple .types = append (vtt .tuple .types , types .Uint8 )
99+
100+ return vtt
101+ }
102+
103+ func (vtt * variantTupleTypes ) Int8 () * variantTupleTypes {
104+ vtt .tuple .types = append (vtt .tuple .types , types .Int8 )
105+
106+ return vtt
107+ }
108+
109+ func (vtt * variantTupleTypes ) Float () * variantTupleTypes {
110+ vtt .tuple .types = append (vtt .tuple .types , types .Float )
111+
112+ return vtt
113+ }
114+
115+ func (vtt * variantTupleTypes ) Double () * variantTupleTypes {
116+ vtt .tuple .types = append (vtt .tuple .types , types .Double )
117+
118+ return vtt
119+ }
120+
121+ func (vtt * variantTupleTypes ) Decimal (precision , scale uint32 ) * variantTupleTypes {
122+ vtt .tuple .types = append (vtt .tuple .types , types .NewDecimal (precision , scale ))
123+
124+ return vtt
125+ }
126+
127+ func (vtt * variantTupleTypes ) Timestamp () * variantTupleTypes {
128+ vtt .tuple .types = append (vtt .tuple .types , types .Timestamp )
129+
130+ return vtt
131+ }
132+
133+ func (vtt * variantTupleTypes ) Date () * variantTupleTypes {
134+ vtt .tuple .types = append (vtt .tuple .types , types .Date )
135+
136+ return vtt
137+ }
138+
139+ func (vtt * variantTupleTypes ) Datetime () * variantTupleTypes {
140+ vtt .tuple .types = append (vtt .tuple .types , types .Datetime )
141+
142+ return vtt
143+ }
144+
145+ func (vtt * variantTupleTypes ) Interval () * variantTupleTypes {
146+ vtt .tuple .types = append (vtt .tuple .types , types .Interval )
147+
148+ return vtt
149+ }
150+
151+ func (vtt * variantTupleTypes ) JSON () * variantTupleTypes {
152+ vtt .tuple .types = append (vtt .tuple .types , types .JSON )
153+
154+ return vtt
155+ }
156+
157+ func (vtt * variantTupleTypes ) JSONDocument () * variantTupleTypes {
158+ vtt .tuple .types = append (vtt .tuple .types , types .JSONDocument )
159+
160+ return vtt
161+ }
162+
163+ func (vtt * variantTupleTypes ) YSON () * variantTupleTypes {
164+ vtt .tuple .types = append (vtt .tuple .types , types .YSON )
165+
166+ return vtt
167+ }
168+
169+ func (vtt * variantTupleTypes ) UUID () * variantTupleTypes {
170+ vtt .tuple .types = append (vtt .tuple .types , types .UUID )
171+
172+ return vtt
173+ }
174+
175+ func (vtt * variantTupleTypes ) TzDate () * variantTupleTypes {
176+ vtt .tuple .types = append (vtt .tuple .types , types .TzDate )
177+
178+ return vtt
179+ }
180+
181+ func (vtt * variantTupleTypes ) TzTimestamp () * variantTupleTypes {
182+ vtt .tuple .types = append (vtt .tuple .types , types .TzTimestamp )
183+
184+ return vtt
185+ }
186+
187+ func (vtt * variantTupleTypes ) TzDatetime () * variantTupleTypes {
188+ vtt .tuple .types = append (vtt .tuple .types , types .TzDatetime )
189+
190+ return vtt
191+ }
57192
58193func (vtt * variantTupleTypes ) Index (i uint32 ) * variantTupleItem {
59194 vtt .tuple .index = i
@@ -63,7 +198,22 @@ func (vtt *variantTupleTypes) Index(i uint32) *variantTupleItem {
63198 }
64199}
65200
66- // all types
201+ func (vti * variantTupleItem ) Text (v string ) * variantTupleBuilder {
202+ vti .tuple .value = value .TextValue (v )
203+
204+ return & variantTupleBuilder {
205+ tuple : vti .tuple ,
206+ }
207+ }
208+
209+ func (vti * variantTupleItem ) Bytes (v []byte ) * variantTupleBuilder {
210+ vti .tuple .value = value .BytesValue (v )
211+
212+ return & variantTupleBuilder {
213+ tuple : vti .tuple ,
214+ }
215+ }
216+
67217func (vti * variantTupleItem ) Bool (v bool ) * variantTupleBuilder {
68218 vti .tuple .value = value .BoolValue (v )
69219
@@ -72,15 +222,181 @@ func (vti *variantTupleItem) Bool(v bool) *variantTupleBuilder {
72222 }
73223}
74224
75- func (vti * variantTupleItem ) Text (v string ) * variantTupleBuilder {
76- vti .tuple .value = value .TextValue (v )
225+ func (vti * variantTupleItem ) Uint64 (v uint64 ) * variantTupleBuilder {
226+ vti .tuple .value = value .Uint64Value (v )
227+
228+ return & variantTupleBuilder {
229+ tuple : vti .tuple ,
230+ }
231+ }
232+
233+ func (vti * variantTupleItem ) Int64 (v int64 ) * variantTupleBuilder {
234+ vti .tuple .value = value .Int64Value (v )
77235
78236 return & variantTupleBuilder {
79237 tuple : vti .tuple ,
80238 }
81239}
82240
83- //
241+ func (vti * variantTupleItem ) Uint32 (v uint32 ) * variantTupleBuilder {
242+ vti .tuple .value = value .Uint32Value (v )
243+
244+ return & variantTupleBuilder {
245+ tuple : vti .tuple ,
246+ }
247+ }
248+
249+ func (vti * variantTupleItem ) Int32 (v int32 ) * variantTupleBuilder {
250+ vti .tuple .value = value .Int32Value (v )
251+
252+ return & variantTupleBuilder {
253+ tuple : vti .tuple ,
254+ }
255+ }
256+
257+ func (vti * variantTupleItem ) Uint16 (v uint16 ) * variantTupleBuilder {
258+ vti .tuple .value = value .Uint16Value (v )
259+
260+ return & variantTupleBuilder {
261+ tuple : vti .tuple ,
262+ }
263+ }
264+
265+ func (vti * variantTupleItem ) Int16 (v int16 ) * variantTupleBuilder {
266+ vti .tuple .value = value .Int16Value (v )
267+
268+ return & variantTupleBuilder {
269+ tuple : vti .tuple ,
270+ }
271+ }
272+
273+ func (vti * variantTupleItem ) Uint8 (v uint8 ) * variantTupleBuilder {
274+ vti .tuple .value = value .Uint8Value (v )
275+
276+ return & variantTupleBuilder {
277+ tuple : vti .tuple ,
278+ }
279+ }
280+
281+ func (vti * variantTupleItem ) Int8 (v int8 ) * variantTupleBuilder {
282+ vti .tuple .value = value .Int8Value (v )
283+
284+ return & variantTupleBuilder {
285+ tuple : vti .tuple ,
286+ }
287+ }
288+
289+ func (vti * variantTupleItem ) Float (v float32 ) * variantTupleBuilder {
290+ vti .tuple .value = value .FloatValue (v )
291+
292+ return & variantTupleBuilder {
293+ tuple : vti .tuple ,
294+ }
295+ }
296+
297+ func (vti * variantTupleItem ) Double (v float64 ) * variantTupleBuilder {
298+ vti .tuple .value = value .DoubleValue (v )
299+
300+ return & variantTupleBuilder {
301+ tuple : vti .tuple ,
302+ }
303+ }
304+
305+ func (vti * variantTupleItem ) Decimal (v [16 ]byte , precision , scale uint32 ) * variantTupleBuilder {
306+ vti .tuple .value = value .DecimalValue (v , precision , scale )
307+
308+ return & variantTupleBuilder {
309+ tuple : vti .tuple ,
310+ }
311+ }
312+
313+ func (vti * variantTupleItem ) Timestamp (v time.Time ) * variantTupleBuilder {
314+ vti .tuple .value = value .TimestampValueFromTime (v )
315+
316+ return & variantTupleBuilder {
317+ tuple : vti .tuple ,
318+ }
319+ }
320+
321+ func (vti * variantTupleItem ) Date (v time.Time ) * variantTupleBuilder {
322+ vti .tuple .value = value .DateValueFromTime (v )
323+
324+ return & variantTupleBuilder {
325+ tuple : vti .tuple ,
326+ }
327+ }
328+
329+ func (vti * variantTupleItem ) Datetime (v time.Time ) * variantTupleBuilder {
330+ vti .tuple .value = value .DatetimeValueFromTime (v )
331+
332+ return & variantTupleBuilder {
333+ tuple : vti .tuple ,
334+ }
335+ }
336+
337+ func (vti * variantTupleItem ) Interval (v time.Duration ) * variantTupleBuilder {
338+ vti .tuple .value = value .IntervalValueFromDuration (v )
339+
340+ return & variantTupleBuilder {
341+ tuple : vti .tuple ,
342+ }
343+ }
344+
345+ func (vti * variantTupleItem ) JSON (v string ) * variantTupleBuilder {
346+ vti .tuple .value = value .JSONValue (v )
347+
348+ return & variantTupleBuilder {
349+ tuple : vti .tuple ,
350+ }
351+ }
352+
353+ func (vti * variantTupleItem ) JSONDocument (v string ) * variantTupleBuilder {
354+ vti .tuple .value = value .JSONDocumentValue (v )
355+
356+ return & variantTupleBuilder {
357+ tuple : vti .tuple ,
358+ }
359+ }
360+
361+ func (vti * variantTupleItem ) YSON (v []byte ) * variantTupleBuilder {
362+ vti .tuple .value = value .YSONValue (v )
363+
364+ return & variantTupleBuilder {
365+ tuple : vti .tuple ,
366+ }
367+ }
368+
369+ func (vti * variantTupleItem ) UUID (v [16 ]byte ) * variantTupleBuilder {
370+ vti .tuple .value = value .UUIDValue (v )
371+
372+ return & variantTupleBuilder {
373+ tuple : vti .tuple ,
374+ }
375+ }
376+
377+ func (vti * variantTupleItem ) TzDate (v time.Time ) * variantTupleBuilder {
378+ vti .tuple .value = value .TzDateValueFromTime (v )
379+
380+ return & variantTupleBuilder {
381+ tuple : vti .tuple ,
382+ }
383+ }
384+
385+ func (vti * variantTupleItem ) TzTimestamp (v time.Time ) * variantTupleBuilder {
386+ vti .tuple .value = value .TzTimestampValueFromTime (v )
387+
388+ return & variantTupleBuilder {
389+ tuple : vti .tuple ,
390+ }
391+ }
392+
393+ func (vti * variantTupleItem ) TzDatetime (v time.Time ) * variantTupleBuilder {
394+ vti .tuple .value = value .TzDatetimeValueFromTime (v )
395+
396+ return & variantTupleBuilder {
397+ tuple : vti .tuple ,
398+ }
399+ }
84400
85401func (vtb * variantTupleBuilder ) EndTuple () * variantBuilder {
86402 vtb .tuple .parent .value = value .VariantValueTuple (vtb .tuple .value , vtb .tuple .index , types .NewVariantTuple (vtb .tuple .types ... ))
0 commit comments