Skip to content

Commit a051ea9

Browse files
authored
Merge pull request #1088 from size12/set-query-params
Set query params
2 parents 36b50e8 + f3f7fb1 commit a051ea9

File tree

3 files changed

+830
-0
lines changed

3 files changed

+830
-0
lines changed

internal/params/parameters.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,13 @@ func (p *Parameter) List() *list {
109109
}
110110
}
111111

112+
func (p *Parameter) Set() *set {
113+
return &set{
114+
parent: p.parent,
115+
name: p.name,
116+
}
117+
}
118+
112119
func (p *Parameter) Text(v string) Builder {
113120
p.value = value.TextValue(v)
114121
p.parent.params = append(p.parent.params, p)

internal/params/set.go

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
package params
2+
3+
import (
4+
"time"
5+
6+
"github.com/ydb-platform/ydb-go-sdk/v3/internal/value"
7+
)
8+
9+
type (
10+
set struct {
11+
parent Builder
12+
name string
13+
values []value.Value
14+
}
15+
16+
setItem struct {
17+
parent *set
18+
}
19+
)
20+
21+
func (s *set) AddItem() *setItem {
22+
return &setItem{
23+
parent: s,
24+
}
25+
}
26+
27+
func (s *set) Build() Builder {
28+
s.parent.params = append(s.parent.params, &Parameter{
29+
parent: s.parent,
30+
name: s.name,
31+
value: value.SetValue(s.values...),
32+
})
33+
34+
return s.parent
35+
}
36+
37+
func (s *setItem) Text(v string) *set {
38+
s.parent.values = append(s.parent.values, value.TextValue(v))
39+
40+
return s.parent
41+
}
42+
43+
func (s *setItem) Bytes(v []byte) *set {
44+
s.parent.values = append(s.parent.values, value.BytesValue(v))
45+
46+
return s.parent
47+
}
48+
49+
func (s *setItem) Bool(v bool) *set {
50+
s.parent.values = append(s.parent.values, value.BoolValue(v))
51+
52+
return s.parent
53+
}
54+
55+
func (s *setItem) Uint64(v uint64) *set {
56+
s.parent.values = append(s.parent.values, value.Uint64Value(v))
57+
58+
return s.parent
59+
}
60+
61+
func (s *setItem) Int64(v int64) *set {
62+
s.parent.values = append(s.parent.values, value.Int64Value(v))
63+
64+
return s.parent
65+
}
66+
67+
func (s *setItem) Uint32(v uint32) *set {
68+
s.parent.values = append(s.parent.values, value.Uint32Value(v))
69+
70+
return s.parent
71+
}
72+
73+
func (s *setItem) Int32(v int32) *set {
74+
s.parent.values = append(s.parent.values, value.Int32Value(v))
75+
76+
return s.parent
77+
}
78+
79+
func (s *setItem) Uint16(v uint16) *set {
80+
s.parent.values = append(s.parent.values, value.Uint16Value(v))
81+
82+
return s.parent
83+
}
84+
85+
func (s *setItem) Int16(v int16) *set {
86+
s.parent.values = append(s.parent.values, value.Int16Value(v))
87+
88+
return s.parent
89+
}
90+
91+
func (s *setItem) Uint8(v uint8) *set {
92+
s.parent.values = append(s.parent.values, value.Uint8Value(v))
93+
94+
return s.parent
95+
}
96+
97+
func (s *setItem) Int8(v int8) *set {
98+
s.parent.values = append(s.parent.values, value.Int8Value(v))
99+
100+
return s.parent
101+
}
102+
103+
func (s *setItem) Float(v float32) *set {
104+
s.parent.values = append(s.parent.values, value.FloatValue(v))
105+
106+
return s.parent
107+
}
108+
109+
func (s *setItem) Double(v float64) *set {
110+
s.parent.values = append(s.parent.values, value.DoubleValue(v))
111+
112+
return s.parent
113+
}
114+
115+
func (s *setItem) Decimal(v [16]byte, precision, scale uint32) *set {
116+
s.parent.values = append(s.parent.values, value.DecimalValue(v, precision, scale))
117+
118+
return s.parent
119+
}
120+
121+
func (s *setItem) Timestamp(v time.Time) *set {
122+
s.parent.values = append(s.parent.values, value.TimestampValueFromTime(v))
123+
124+
return s.parent
125+
}
126+
127+
func (s *setItem) Date(v time.Time) *set {
128+
s.parent.values = append(s.parent.values, value.DateValueFromTime(v))
129+
130+
return s.parent
131+
}
132+
133+
func (s *setItem) Datetime(v time.Time) *set {
134+
s.parent.values = append(s.parent.values, value.DatetimeValueFromTime(v))
135+
136+
return s.parent
137+
}
138+
139+
func (s *setItem) Interval(v time.Duration) *set {
140+
s.parent.values = append(s.parent.values, value.IntervalValueFromDuration(v))
141+
142+
return s.parent
143+
}

0 commit comments

Comments
 (0)