Skip to content
This repository was archived by the owner on Jan 28, 2021. It is now read-only.

Commit c67ace9

Browse files
committed
Code review
Signed-off-by: Theo Despoudis <thdespou@hotmail.com>
1 parent 46638ed commit c67ace9

File tree

1 file changed

+8
-34
lines changed

1 file changed

+8
-34
lines changed

sql/expression/function/reverse_repeat_replace.go

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ type Reverse struct {
1414
expression.UnaryExpression
1515
}
1616

17-
// NewLower creates a new Lower expression.
17+
// NewReverse creates a new Reverse expression.
1818
func NewReverse(e sql.Expression) sql.Expression {
1919
return &Reverse{expression.UnaryExpression{Child: e}}
2020
}
@@ -25,14 +25,10 @@ func (r *Reverse) Eval(
2525
row sql.Row,
2626
) (interface{}, error) {
2727
v, err := r.Child.Eval(ctx, row)
28-
if err != nil {
28+
if v == nil || err != nil {
2929
return nil, err
3030
}
3131

32-
if v == nil {
33-
return nil, nil
34-
}
35-
3632
v, err = sql.Text.Convert(v)
3733
if err != nil {
3834
return nil, err
@@ -43,9 +39,7 @@ func (r *Reverse) Eval(
4339

4440
func reverseString(s string) string {
4541
r := []rune(s)
46-
l := len(r)
47-
l2 := l/2
48-
for i, j := 0, l-1; i < l2; i, j = i+1, j-1 {
42+
for i, j := 0, len(r) - 1; i < j; i, j = i+1, j-1 {
4943
r[i], r[j] = r[j], r[i]
5044
}
5145
return string(r)
@@ -110,28 +104,20 @@ func (r *Repeat) Eval(
110104
row sql.Row,
111105
) (interface{}, error) {
112106
str, err := r.Left.Eval(ctx, row)
113-
if err != nil {
107+
if str == nil || err != nil {
114108
return nil, err
115109
}
116110

117-
if str == nil {
118-
return nil, nil
119-
}
120-
121111
str, err = sql.Text.Convert(str)
122112
if err != nil {
123113
return nil, err
124114
}
125115

126116
count, err := r.Right.Eval(ctx, row)
127-
if err != nil {
117+
if count == nil || err != nil {
128118
return nil, err
129119
}
130120

131-
if count == nil {
132-
return nil, nil
133-
}
134-
135121
count, err = sql.Int32.Convert(count)
136122
if err != nil {
137123
return nil, err
@@ -204,42 +190,30 @@ func (r *Replace) Eval(
204190
row sql.Row,
205191
) (interface{}, error) {
206192
str, err := r.str.Eval(ctx, row)
207-
if err != nil {
193+
if str == nil || err != nil {
208194
return nil, err
209195
}
210196

211-
if str == nil {
212-
return nil, nil
213-
}
214-
215197
str, err = sql.Text.Convert(str)
216198
if err != nil {
217199
return nil, err
218200
}
219201

220202
fromStr, err := r.fromStr.Eval(ctx, row)
221-
if err != nil {
203+
if fromStr == nil || err != nil {
222204
return nil, err
223205
}
224206

225-
if fromStr == nil {
226-
return nil, nil
227-
}
228-
229207
fromStr, err = sql.Text.Convert(fromStr)
230208
if err != nil {
231209
return nil, err
232210
}
233211

234212
toStr, err := r.toStr.Eval(ctx, row)
235-
if err != nil {
213+
if toStr == nil || err != nil {
236214
return nil, err
237215
}
238216

239-
if toStr == nil {
240-
return nil, nil
241-
}
242-
243217
toStr, err = sql.Text.Convert(toStr)
244218
if err != nil {
245219
return nil, err

0 commit comments

Comments
 (0)