diff options
| author | Charlie Vieth <charlie.vieth@gmail.com> | 2024-10-26 18:59:47 -0400 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2024-10-29 11:38:05 +0000 |
| commit | ff86b8b62f1fc00920bb49023c91be3b24ea71bc (patch) | |
| tree | 509563b43532c52eb267e3705a2145d6015a7245 /src/database/sql | |
| parent | 851ebc2dca616754fa2bd6c48241e498bf306a50 (diff) | |
| download | go-ff86b8b62f1fc00920bb49023c91be3b24ea71bc.tar.xz | |
database/sql: allocate once when assigning a time.Time to a byte slice
Change convertAssignRows to use time.AppendFormat and a pre-allocated
buffer when assigning a time.Time to a byte slice. Previously, the
result of time.Format was converted to a byte slice which required
two allocations.
Change-Id: I19db5e4d295e882070f947eca318a4e33520cda1
Reviewed-on: https://go-review.googlesource.com/c/go/+/622597
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/database/sql')
| -rw-r--r-- | src/database/sql/convert.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/database/sql/convert.go b/src/database/sql/convert.go index c261046b18..65fdfe6fa8 100644 --- a/src/database/sql/convert.go +++ b/src/database/sql/convert.go @@ -290,7 +290,7 @@ func convertAssignRows(dest, src any, rows *Rows) error { if d == nil { return errNilPtr } - *d = []byte(s.Format(time.RFC3339Nano)) + *d = s.AppendFormat(make([]byte, 0, len(time.RFC3339Nano)), time.RFC3339Nano) return nil case *RawBytes: if d == nil { |
