Skip to content

Commit 83d7cb7

Browse files
committed
Added Datetime64 and Timestamp64 to params builder
1 parent 0f6bd14 commit 83d7cb7

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

internal/params/builder_test.go

+45
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,21 @@ func TestBuilder(t *testing.T) {
249249
},
250250
},
251251
},
252+
{
253+
method: "Datetime64",
254+
args: []any{time.Unix(123456789, 456)},
255+
256+
expected: expected{
257+
Type: &Ydb.Type{
258+
Type: &Ydb.Type_TypeId{TypeId: Ydb.Type_DATETIME64},
259+
},
260+
Value: &Ydb.Value{
261+
Value: &Ydb.Value_Int64Value{
262+
Int64Value: 123456789,
263+
},
264+
},
265+
},
266+
},
252267
{
253268
method: "Date",
254269
args: []any{time.Unix(123456789, 456)},
@@ -264,6 +279,21 @@ func TestBuilder(t *testing.T) {
264279
},
265280
},
266281
},
282+
{
283+
method: "Date32",
284+
args: []any{time.Unix(123456789, 456)},
285+
286+
expected: expected{
287+
Type: &Ydb.Type{
288+
Type: &Ydb.Type_TypeId{TypeId: Ydb.Type_DATE32},
289+
},
290+
Value: &Ydb.Value{
291+
Value: &Ydb.Value_Int32Value{
292+
Int32Value: 1428,
293+
},
294+
},
295+
},
296+
},
267297
{
268298
method: "Timestamp",
269299
args: []any{time.Unix(123456789, 456)},
@@ -279,6 +309,21 @@ func TestBuilder(t *testing.T) {
279309
},
280310
},
281311
},
312+
{
313+
method: "Timestamp64",
314+
args: []any{time.Unix(123456789, 456)},
315+
316+
expected: expected{
317+
Type: &Ydb.Type{
318+
Type: &Ydb.Type_TypeId{TypeId: Ydb.Type_TIMESTAMP64},
319+
},
320+
Value: &Ydb.Value{
321+
Value: &Ydb.Value_Int64Value{
322+
Int64Value: 123456789000000,
323+
},
324+
},
325+
},
326+
},
282327
{
283328
method: "Decimal",
284329
args: []any{[...]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}, uint32(22), uint32(9)},

internal/params/parameters.go

+14
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,13 @@ func (p *Parameter) Timestamp(v time.Time) Builder {
273273
return p.parent
274274
}
275275

276+
func (p *Parameter) Timestamp64(v time.Time) Builder {
277+
p.value = value.Timestamp64ValueFromTime(v)
278+
p.parent.params = append(p.parent.params, p)
279+
280+
return p.parent
281+
}
282+
276283
func (p *Parameter) Date(v time.Time) Builder {
277284
p.value = value.DateValueFromTime(v)
278285
p.parent.params = append(p.parent.params, p)
@@ -294,6 +301,13 @@ func (p *Parameter) Datetime(v time.Time) Builder {
294301
return p.parent
295302
}
296303

304+
func (p *Parameter) Datetime64(v time.Time) Builder {
305+
p.value = value.Datetime64ValueFromTime(v)
306+
p.parent.params = append(p.parent.params, p)
307+
308+
return p.parent
309+
}
310+
297311
func (p *Parameter) Interval(v time.Duration) Builder {
298312
p.value = value.IntervalValueFromDuration(v)
299313
p.parent.params = append(p.parent.params, p)

0 commit comments

Comments
 (0)