Skip to content

Commit 5e0cfc5

Browse files
committed
use slices.Clone
1 parent 2897579 commit 5e0cfc5

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

mockconn/row.go

+6-14
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"errors"
77
"fmt"
88
"reflect"
9+
"slices"
910
"strconv"
1011
"time"
1112

@@ -94,7 +95,7 @@ func convertAssign(dest, src any) error {
9495
if d == nil {
9596
return errNilPtr
9697
}
97-
*d = append((*d)[:0], s...)
98+
*d = sql.RawBytes(s)
9899
return nil
99100
}
100101
case []byte:
@@ -109,19 +110,19 @@ func convertAssign(dest, src any) error {
109110
if d == nil {
110111
return errNilPtr
111112
}
112-
*d = cloneBytes(s)
113+
*d = slices.Clone(s)
113114
return nil
114115
case *[]byte:
115116
if d == nil {
116117
return errNilPtr
117118
}
118-
*d = cloneBytes(s)
119+
*d = slices.Clone(s)
119120
return nil
120121
case *sql.RawBytes:
121122
if d == nil {
122123
return errNilPtr
123124
}
124-
*d = s
125+
*d = slices.Clone(s)
125126
return nil
126127
}
127128
case time.Time:
@@ -229,7 +230,7 @@ func convertAssign(dest, src any) error {
229230
if sv.IsValid() && sv.Type().AssignableTo(dv.Type()) {
230231
switch b := src.(type) {
231232
case []byte:
232-
dv.Set(reflect.ValueOf(cloneBytes(b)))
233+
dv.Set(reflect.ValueOf(slices.Clone(b)))
233234
default:
234235
dv.Set(sv)
235236
}
@@ -314,15 +315,6 @@ func strconvErr(err error) error {
314315
return err
315316
}
316317

317-
func cloneBytes(b []byte) []byte {
318-
if b == nil {
319-
return nil
320-
}
321-
c := make([]byte, len(b))
322-
copy(c, b)
323-
return c
324-
}
325-
326318
func asString(src any) string {
327319
switch v := src.(type) {
328320
case string:

0 commit comments

Comments
 (0)