Skip to content

Commit 821f40d

Browse files
committed
tz types support
1 parent 76e07ce commit 821f40d

File tree

5 files changed

+126
-0
lines changed

5 files changed

+126
-0
lines changed

internal/params/dict.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,30 @@ func (d *dictPair) UUID(v [16]byte) *dictValue {
209209
}
210210
}
211211

212+
func (d *dictPair) TzDate(v time.Time) *dictValue {
213+
d.keyValue = value.TzDateValueFromTime(v)
214+
215+
return &dictValue{
216+
pair: d,
217+
}
218+
}
219+
220+
func (d *dictPair) TzTimestamp(v time.Time) *dictValue {
221+
d.keyValue = value.TzTimestampValueFromTime(v)
222+
223+
return &dictValue{
224+
pair: d,
225+
}
226+
}
227+
228+
func (d *dictPair) TzDatetime(v time.Time) *dictValue {
229+
d.keyValue = value.TzDatetimeValueFromTime(v)
230+
231+
return &dictValue{
232+
pair: d,
233+
}
234+
}
235+
212236
func (d *dictValue) Text(v string) *dict {
213237
d.pair.parent.values = append(d.pair.parent.values, value.DictValueField{
214238
K: d.pair.keyValue,
@@ -407,6 +431,33 @@ func (d *dictValue) UUID(v [16]byte) *dict {
407431
return d.pair.parent
408432
}
409433

434+
func (d *dictValue) TzDate(v time.Time) *dict {
435+
d.pair.parent.values = append(d.pair.parent.values, value.DictValueField{
436+
K: d.pair.keyValue,
437+
V: value.TzDateValueFromTime(v),
438+
})
439+
440+
return d.pair.parent
441+
}
442+
443+
func (d *dictValue) TzTimestamp(v time.Time) *dict {
444+
d.pair.parent.values = append(d.pair.parent.values, value.DictValueField{
445+
K: d.pair.keyValue,
446+
V: value.TzTimestampValueFromTime(v),
447+
})
448+
449+
return d.pair.parent
450+
}
451+
452+
func (d *dictValue) TzDatetime(v time.Time) *dict {
453+
d.pair.parent.values = append(d.pair.parent.values, value.DictValueField{
454+
K: d.pair.keyValue,
455+
V: value.TzDatetimeValueFromTime(v),
456+
})
457+
458+
return d.pair.parent
459+
}
460+
410461
func (d *dict) EndDict() Builder {
411462
d.parent.params = append(d.parent.params, &Parameter{
412463
parent: d.parent,

internal/params/list.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,21 @@ func (l *listItem) UUID(v [16]byte) *list {
170170

171171
return l.parent
172172
}
173+
174+
func (l *listItem) TzDate(v time.Time) *list {
175+
l.parent.values = append(l.parent.values, value.TzDateValueFromTime(v))
176+
177+
return l.parent
178+
}
179+
180+
func (l *listItem) TzTimestamp(v time.Time) *list {
181+
l.parent.values = append(l.parent.values, value.TzTimestampValueFromTime(v))
182+
183+
return l.parent
184+
}
185+
186+
func (l *listItem) TzDatetime(v time.Time) *list {
187+
l.parent.values = append(l.parent.values, value.TzDatetimeValueFromTime(v))
188+
189+
return l.parent
190+
}

internal/params/optional.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,21 @@ func (p *optional) UUID(v [16]byte) *optionalBuilder {
158158

159159
return &optionalBuilder{opt: p}
160160
}
161+
162+
func (p *optional) TzDate(v time.Time) *optionalBuilder {
163+
p.value = value.TzDateValueFromTime(v)
164+
165+
return &optionalBuilder{opt: p}
166+
}
167+
168+
func (p *optional) TzTimestamp(v time.Time) *optionalBuilder {
169+
p.value = value.TzTimestampValueFromTime(v)
170+
171+
return &optionalBuilder{opt: p}
172+
}
173+
174+
func (p *optional) TzDatetime(v time.Time) *optionalBuilder {
175+
p.value = value.TzDatetimeValueFromTime(v)
176+
177+
return &optionalBuilder{opt: p}
178+
}

internal/params/parameters.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,27 @@ func (p *Parameter) UUID(v [16]byte) Builder {
281281
return p.parent
282282
}
283283

284+
func (p *Parameter) TzDate(v time.Time) Builder {
285+
p.value = value.TzDateValueFromTime(v)
286+
p.parent.params = append(p.parent.params, p)
287+
288+
return p.parent
289+
}
290+
291+
func (p *Parameter) TzTimestamp(v time.Time) Builder {
292+
p.value = value.TzTimestampValueFromTime(v)
293+
p.parent.params = append(p.parent.params, p)
294+
295+
return p.parent
296+
}
297+
298+
func (p *Parameter) TzDatetime(v time.Time) Builder {
299+
p.value = value.TzDatetimeValueFromTime(v)
300+
p.parent.params = append(p.parent.params, p)
301+
302+
return p.parent
303+
}
304+
284305
func Declare(p *Parameter) string {
285306
return fmt.Sprintf(
286307
"DECLARE %s AS %s",

internal/params/set.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,21 @@ func (s *setItem) UUID(v [16]byte) *set {
171171

172172
return s.parent
173173
}
174+
175+
func (s *setItem) TzDate(v time.Time) *set {
176+
s.parent.values = append(s.parent.values, value.TzDateValueFromTime(v))
177+
178+
return s.parent
179+
}
180+
181+
func (s *setItem) TzTimestamp(v time.Time) *set {
182+
s.parent.values = append(s.parent.values, value.TzTimestampValueFromTime(v))
183+
184+
return s.parent
185+
}
186+
187+
func (s *setItem) TzDatetime(v time.Time) *set {
188+
s.parent.values = append(s.parent.values, value.TzDatetimeValueFromTime(v))
189+
190+
return s.parent
191+
}

0 commit comments

Comments
 (0)