Skip to content

Commit d6975fe

Browse files
committed
allocate only once
1 parent 87abdbd commit d6975fe

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

dump.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -307,22 +307,21 @@ func (table *table) initColumnData() error {
307307
if err != nil {
308308
return err
309309
}
310+
defer colInfo.Close()
310311

311-
var result []string
312-
313-
for colInfo.Next() {
314-
cols, err := colInfo.Columns()
315-
if err != nil {
316-
return err
317-
}
312+
cols, err := colInfo.Columns()
313+
if err != nil {
314+
return err
315+
}
318316

319-
// Allocate and link space to scan to this must be done every iteration
320-
info := make([]sql.NullString, len(cols))
321-
scans := make([]interface{}, len(cols))
322-
for i := range info {
323-
scans[i] = &info[i]
324-
}
317+
info := make([]sql.NullString, len(cols))
318+
scans := make([]interface{}, len(cols))
319+
for i := range info {
320+
scans[i] = &info[i]
321+
}
325322

323+
var result []string
324+
for colInfo.Next() {
326325
// Read into the pointers to the info marker
327326
if err := colInfo.Scan(scans...); err != nil {
328327
return err

0 commit comments

Comments
 (0)