Skip to content

Commit e3cc14a

Browse files
committed
finished set query builder
1 parent d272f6d commit e3cc14a

File tree

3 files changed

+704
-26
lines changed

3 files changed

+704
-26
lines changed

internal/params/parameters.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ func (p *Parameter) Set() *set {
113113
return &set{
114114
parent: p.parent,
115115
name: p.name,
116-
values: make(map[value.Value]struct{}),
117116
}
118117
}
119118

internal/params/set.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ type (
1010
set struct {
1111
parent Builder
1212
name string
13-
values map[value.Value]struct{}
13+
values []value.Value
1414
}
1515

1616
setItem struct {
@@ -25,119 +25,119 @@ func (s *set) AddItem() *setItem {
2525
}
2626

2727
func (s *set) Build() Builder {
28-
values := make([]value.Value, 0, len(s.values))
29-
30-
for el := range s.values {
31-
values = append(values, el)
32-
}
33-
3428
s.parent.params = append(s.parent.params, &Parameter{
3529
parent: s.parent,
3630
name: s.name,
37-
value: value.SetValue(values...),
31+
value: value.SetValue(s.values...),
3832
})
3933

4034
return s.parent
4135
}
4236

4337
func (s *setItem) Text(v string) *set {
44-
s.parent.values[value.TextValue(v)] = struct{}{}
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))
4545

4646
return s.parent
4747
}
4848

4949
func (s *setItem) Bool(v bool) *set {
50-
s.parent.values[value.BoolValue(v)] = struct{}{}
50+
s.parent.values = append(s.parent.values, value.BoolValue(v))
5151

5252
return s.parent
5353
}
5454

5555
func (s *setItem) Uint64(v uint64) *set {
56-
s.parent.values[value.Uint64Value(v)] = struct{}{}
56+
s.parent.values = append(s.parent.values, value.Uint64Value(v))
5757

5858
return s.parent
5959
}
6060

6161
func (s *setItem) Int64(v int64) *set {
62-
s.parent.values[value.Int64Value(v)] = struct{}{}
62+
s.parent.values = append(s.parent.values, value.Int64Value(v))
6363

6464
return s.parent
6565
}
6666

6767
func (s *setItem) Uint32(v uint32) *set {
68-
s.parent.values[value.Uint32Value(v)] = struct{}{}
68+
s.parent.values = append(s.parent.values, value.Uint32Value(v))
6969

7070
return s.parent
7171
}
7272

7373
func (s *setItem) Int32(v int32) *set {
74-
s.parent.values[value.Int32Value(v)] = struct{}{}
74+
s.parent.values = append(s.parent.values, value.Int32Value(v))
7575

7676
return s.parent
7777
}
7878

7979
func (s *setItem) Uint16(v uint16) *set {
80-
s.parent.values[value.Uint16Value(v)] = struct{}{}
80+
s.parent.values = append(s.parent.values, value.Uint16Value(v))
8181

8282
return s.parent
8383
}
8484

8585
func (s *setItem) Int16(v int16) *set {
86-
s.parent.values[value.Int16Value(v)] = struct{}{}
86+
s.parent.values = append(s.parent.values, value.Int16Value(v))
8787

8888
return s.parent
8989
}
9090

9191
func (s *setItem) Uint8(v uint8) *set {
92-
s.parent.values[value.Uint8Value(v)] = struct{}{}
92+
s.parent.values = append(s.parent.values, value.Uint8Value(v))
9393

9494
return s.parent
9595
}
9696

9797
func (s *setItem) Int8(v int8) *set {
98-
s.parent.values[value.Int8Value(v)] = struct{}{}
98+
s.parent.values = append(s.parent.values, value.Int8Value(v))
9999

100100
return s.parent
101101
}
102102

103103
func (s *setItem) Float(v float32) *set {
104-
s.parent.values[value.FloatValue(v)] = struct{}{}
104+
s.parent.values = append(s.parent.values, value.FloatValue(v))
105105

106106
return s.parent
107107
}
108108

109109
func (s *setItem) Double(v float64) *set {
110-
s.parent.values[value.DoubleValue(v)] = struct{}{}
110+
s.parent.values = append(s.parent.values, value.DoubleValue(v))
111111

112112
return s.parent
113113
}
114114

115115
func (s *setItem) Decimal(v [16]byte, precision, scale uint32) *set {
116-
s.parent.values[value.DecimalValue(v, precision, scale)] = struct{}{}
116+
s.parent.values = append(s.parent.values, value.DecimalValue(v, precision, scale))
117117

118118
return s.parent
119119
}
120120

121121
func (s *setItem) Timestamp(v time.Time) *set {
122-
s.parent.values[value.TimestampValueFromTime(v)] = struct{}{}
122+
s.parent.values = append(s.parent.values, value.TimestampValueFromTime(v))
123123

124124
return s.parent
125125
}
126126

127127
func (s *setItem) Date(v time.Time) *set {
128-
s.parent.values[value.DateValueFromTime(v)] = struct{}{}
128+
s.parent.values = append(s.parent.values, value.DateValueFromTime(v))
129129

130130
return s.parent
131131
}
132132

133133
func (s *setItem) Datetime(v time.Time) *set {
134-
s.parent.values[value.DatetimeValueFromTime(v)] = struct{}{}
134+
s.parent.values = append(s.parent.values, value.DatetimeValueFromTime(v))
135135

136136
return s.parent
137137
}
138138

139139
func (s *setItem) Interval(v time.Duration) *set {
140-
s.parent.values[value.IntervalValueFromDuration(v)] = struct{}{}
140+
s.parent.values = append(s.parent.values, value.IntervalValueFromDuration(v))
141141

142142
return s.parent
143143
}

0 commit comments

Comments
 (0)