mirror of https://github.com/golang/go.git
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:
parent
61ed6d5c33
commit
12bf9ff8dc
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue