]> Cypherpunks repositories - gostls13.git/commitdiff
database: use bytes.Clone
authorcuiweixie <cuiweixie@gmail.com>
Tue, 27 Sep 2022 16:29:14 +0000 (00:29 +0800)
committerMeng Zhuo <mzh@golangcn.org>
Wed, 28 Sep 2022 03:16:54 +0000 (03:16 +0000)
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>

src/database/sql/convert.go

index 4d9d070137b012deed10435458725979f7007625..32941cb4c2f2989c71ca81f80bd9c835f48279ef 100644 (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: