Skip to content

Commit f11523c

Browse files
authored
Merge pull request #1859 from testwill/copy
chore: use copy(to, from) instead of a loop
2 parents aebba88 + 2e797c7 commit f11523c

File tree

6 files changed

+7
-21
lines changed

6 files changed

+7
-21
lines changed

memory/table_editor.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -288,12 +288,8 @@ func (t *tableEditor) IndexedAccess(i sql.IndexLookup) sql.IndexedTable {
288288
}
289289
adds := make([]sql.Row, len(nonPkTea.adds))
290290
deletes := make([]sql.Row, len(nonPkTea.deletes))
291-
for i, val := range nonPkTea.adds {
292-
adds[i] = val
293-
}
294-
for i, val := range nonPkTea.deletes {
295-
deletes[i] = val
296-
}
291+
copy(adds, nonPkTea.adds)
292+
copy(deletes, nonPkTea.deletes)
297293
err = (&keylessTableEditAccumulator{
298294
table: newTable,
299295
adds: adds,

sql/plan/ddl.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -649,9 +649,7 @@ func (d *DropTable) WithChildren(children ...sql.Node) (sql.Node, error) {
649649
// Number of children can be smaller than original as the non-existent
650650
// tables get filtered out in some cases
651651
var newChildren = make([]sql.Node, len(children))
652-
for i, child := range children {
653-
newChildren[i] = child
654-
}
652+
copy(newChildren, children)
655653
nd := *d
656654
nd.Tables = newChildren
657655
return &nd, nil

sql/range.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,7 @@ func (rang Range) IsEmpty() (bool, error) {
123123
// Copy returns a duplicate of this Range.
124124
func (rang Range) Copy() Range {
125125
newRange := make(Range, len(rang))
126-
for i, colExpr := range rang {
127-
newRange[i] = colExpr // RangeColumnExpr and all of its members are non-pointer types, so they're copied
128-
}
126+
copy(newRange, rang)
129127
return newRange
130128
}
131129

sql/rowexec/insert.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,7 @@ func (i *insertIter) Next(ctx *sql.Context) (returnRow sql.Row, returnErr error)
152152
return nil, sql.NewWrappedInsertError(row, err)
153153
}
154154
// the row had to be deleted, write the values into the toReturn row
155-
for i := 0; i < len(ue.Existing); i++ {
156-
toReturn[i] = ue.Existing[i]
157-
}
155+
copy(toReturn, ue.Existing)
158156
} else {
159157
break
160158
}

sql/rowexec/rel.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -525,9 +525,7 @@ func (b *BaseBuilder) buildInto(ctx *sql.Context, n *plan.Into, row sql.Row) (sq
525525

526526
var rowValues = make([]interface{}, len(rows[0]))
527527

528-
for j, val := range rows[0] {
529-
rowValues[j] = val
530-
}
528+
copy(rowValues, rows[0])
531529

532530
for j, v := range n.IntoVars {
533531
switch variable := v.(type) {

sql/rows.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,7 @@ func (r Row) Copy() Row {
4242
// Append appends all the values in r2 to this row and returns the result
4343
func (r Row) Append(r2 Row) Row {
4444
row := make(Row, len(r)+len(r2))
45-
for i := range r {
46-
row[i] = r[i]
47-
}
45+
copy(row, r)
4846
for i := range r2 {
4947
row[i+len(r)] = r2[i]
5048
}

0 commit comments

Comments
 (0)