database: use bytes.Clone

Change-Id: I66aad199884cffd51946f53f01580a3a353f5c97
Reviewed-on: https://go-review.googlesource.com/c/go/+/435280
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Meng Zhuo <mzh@golangcn.org>
This commit is contained in:
cuiweixie 2022-09-28 00:29:14 +08:00 committed by Meng Zhuo
parent 61ed6d5c33
commit 12bf9ff8dc
1 changed files with 4 additions and 12 deletions

View File

@ -7,6 +7,7 @@
package sql
import (
"bytes"
"database/sql/driver"
"errors"
"fmt"
@ -252,13 +253,13 @@ func convertAssignRows(dest, src any, rows *Rows) error {
if d == nil {
return errNilPtr
}
*d = cloneBytes(s)
*d = bytes.Clone(s)
return nil
case *[]byte:
if d == nil {
return errNilPtr
}
*d = cloneBytes(s)
*d = bytes.Clone(s)
return nil
case *RawBytes:
if d == nil {
@ -401,7 +402,7 @@ func convertAssignRows(dest, src any, rows *Rows) error {
if sv.IsValid() && sv.Type().AssignableTo(dv.Type()) {
switch b := src.(type) {
case []byte:
dv.Set(reflect.ValueOf(cloneBytes(b)))
dv.Set(reflect.ValueOf(bytes.Clone(b)))
default:
dv.Set(sv)
}
@ -486,15 +487,6 @@ func strconvErr(err error) error {
return err
}
func cloneBytes(b []byte) []byte {
if b == nil {
return nil
}
c := make([]byte, len(b))
copy(c, b)
return c
}
func asString(src any) string {
switch v := src.(type) {
case string: