@@ -42,56 +42,109 @@ func DatetimeValue(v uint32) Value { return value.DatetimeValue(v) }
4242
4343func TimestampValue (v uint64 ) Value { return value .TimestampValue (v ) }
4444
45+ // IntervalValueFromMicroseconds makes Value from given microseconds value
46+ func IntervalValueFromMicroseconds (v int64 ) Value { return value .IntervalValue (v ) }
47+
48+ // IntervalValue makes Value from given microseconds value
49+ //
50+ // Deprecated: use IntervalValueFromMicroseconds instead
4551func IntervalValue (v int64 ) Value { return value .IntervalValue (v ) }
4652
53+ // TzDateValue makes TzDate value from string
4754func TzDateValue (v string ) Value { return value .TzDateValue (v ) }
4855
56+ // TzDatetimeValue makes TzDatetime value from string
4957func TzDatetimeValue (v string ) Value { return value .TzDatetimeValue (v ) }
5058
59+ // TzTimestampValue makes TzTimestamp value from string
5160func TzTimestampValue (v string ) Value { return value .TzTimestampValue (v ) }
5261
62+ // DateValueFromTime makes Date value from time.Time
63+ //
64+ // Warning: all *From* helpers will be removed at next major release
65+ // (functional will be implements with go1.18 type lists)
5366func DateValueFromTime (v time.Time ) Value { return value .DateValue (timeutil .MarshalDate (v )) }
5467
68+ // DatetimeValueFromTime makes Datetime value from time.Time
69+ //
70+ // Warning: all *From* helpers will be removed at next major release
71+ // (functional will be implements with go1.18 type lists)
5572func DatetimeValueFromTime (v time.Time ) Value {
5673 return value .DatetimeValue (timeutil .MarshalDatetime (v ))
5774}
5875
76+ // TimestampValueFromTime makes Timestamp value from time.Time
77+ //
78+ // Warning: all *From* helpers will be removed at next major release
79+ // (functional will be implements with go1.18 type lists)
5980func TimestampValueFromTime (v time.Time ) Value {
6081 return value .TimestampValue (timeutil .MarshalTimestamp (v ))
6182}
6283
84+ // IntervalValueFromDuration makes Interval value from time.Duration
85+ //
86+ // Warning: all *From* helpers will be removed at next major release
87+ // (functional will be implements with go1.18 type lists)
6388func IntervalValueFromDuration (v time.Duration ) Value {
64- return value .IntervalValue (timeutil .MarshalInterval (v ))
89+ return value .IntervalValue (timeutil .DurationToMicroseconds (v ))
6590}
6691
92+ // TzDateValueFromTime makes TzDate value from time.Time
93+ //
94+ // Warning: all *From* helpers will be removed at next major release
95+ // (functional will be implements with go1.18 type lists)
6796func TzDateValueFromTime (v time.Time ) Value { return value .TzDateValue (timeutil .MarshalTzDate (v )) }
6897
98+ // TzDatetimeValueFromTime makes TzDatetime value from time.Time
99+ //
100+ // Warning: all *From* helpers will be removed at next major release
101+ // (functional will be implements with go1.18 type lists)
69102func TzDatetimeValueFromTime (v time.Time ) Value {
70103 return value .TzDatetimeValue (timeutil .MarshalTzDatetime (v ))
71104}
72105
106+ // TzTimestampValueFromTime makes TzTimestamp value from time.Time
107+ //
108+ // Warning: all *From* helpers will be removed at next major release
109+ // (functional will be implements with go1.18 type lists)
73110func TzTimestampValueFromTime (v time.Time ) Value {
74111 return value .TzTimestampValue (timeutil .MarshalTzTimestamp (v ))
75112}
76113
77114func StringValue (v []byte ) Value { return value .StringValue (v ) }
78115
116+ // StringValueFromString makes String value from string
117+ //
118+ // Warning: all *From* helpers will be removed at next major release
119+ // (functional will be implements with go1.18 type lists)
79120func StringValueFromString (v string ) Value { return value .StringValue ([]byte (v )) }
80121
81122func UTF8Value (v string ) Value { return value .UTF8Value (v ) }
82123
83124func YSONValue (v string ) Value { return value .YSONValue (v ) }
84125
126+ // YSONValueFromBytes makes YSON value from bytes
127+ //
128+ // Warning: all *From* helpers will be removed at next major release
129+ // (functional will be implements with go1.18 type lists)
85130func YSONValueFromBytes (v []byte ) Value { return value .YSONValue (string (v )) }
86131
87132func JSONValue (v string ) Value { return value .JSONValue (v ) }
88133
134+ // JSONValueFromBytes makes JSON value from bytes
135+ //
136+ // Warning: all *From* helpers will be removed at next major release
137+ // (functional will be implements with go1.18 type lists)
89138func JSONValueFromBytes (v []byte ) Value { return value .JSONValue (string (v )) }
90139
91140func UUIDValue (v [16 ]byte ) Value { return value .UUIDValue (v ) }
92141
93142func JSONDocumentValue (v string ) Value { return value .JSONDocumentValue (v ) }
94143
144+ // JSONDocumentValueFromBytes makes JSONDocument value from bytes
145+ //
146+ // Warning: all *From* helpers will be removed at next major release
147+ // (functional will be implements with go1.18 type lists)
95148func JSONDocumentValueFromBytes (v []byte ) Value { return value .JSONDocumentValue (string (v )) }
96149
97150func DyNumberValue (v string ) Value { return value .DyNumberValue (v ) }
@@ -344,13 +397,23 @@ func NullableTzTimestampValueFromTime(v *time.Time) Value {
344397 return OptionalValue (TzTimestampValueFromTime (* v ))
345398}
346399
400+ // NullableIntervalValue makes Value which maybe nil or valued
401+ //
402+ // Deprecated: use NullableIntervalValueFromMicroseconds instead
347403func NullableIntervalValue (v * int64 ) Value {
348404 if v == nil {
349405 return NullValue (TypeInterval )
350406 }
351407 return OptionalValue (IntervalValue (* v ))
352408}
353409
410+ func NullableIntervalValueFromMicroseconds (v * int64 ) Value {
411+ if v == nil {
412+ return NullValue (TypeInterval )
413+ }
414+ return OptionalValue (IntervalValueFromMicroseconds (* v ))
415+ }
416+
354417func NullableIntervalValueFromDuration (v * time.Duration ) Value {
355418 if v == nil {
356419 return NullValue (TypeInterval )
@@ -492,7 +555,7 @@ func Nullable(t Type, v interface{}) Value {
492555 case TypeInterval :
493556 switch tt := v .(type ) {
494557 case * int64 :
495- return NullableIntervalValue (tt )
558+ return NullableIntervalValueFromMicroseconds (tt )
496559 case * time.Duration :
497560 return NullableIntervalValueFromDuration (tt )
498561 default :
0 commit comments