diff options
| author | cuiweixie <cuiweixie@gmail.com> | 2022-09-28 00:29:14 +0800 |
|---|---|---|
| committer | Meng Zhuo <mzh@golangcn.org> | 2022-09-28 03:16:54 +0000 |
| commit | 12bf9ff8dc7ba9d37234b5013e6541381d6cd005 (patch) | |
| tree | 40467c1d0e2fe4fb0bfb25c40a3f800b302eadd0 /src/database/sql/convert.go | |
| parent | 61ed6d5c3341f73af9529b4808dd0997c6c86ed4 (diff) | |
| download | go-12bf9ff8dc7ba9d37234b5013e6541381d6cd005.tar.xz | |
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>
Diffstat (limited to 'src/database/sql/convert.go')
| -rw-r--r-- | src/database/sql/convert.go | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/database/sql/convert.go b/src/database/sql/convert.go index 4d9d070137..32941cb4c2 100644 --- a/src/database/sql/convert.go +++ b/src/database/sql/convert.go @@ -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: |
