Skip to content

Commit 9ef50b7

Browse files
committed
Simplify fieldsByTraversal, ptrs is always true
1 parent a2ef31c commit 9ef50b7

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

sqlx.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@ func (r *Rows) StructScan(dest interface{}) error {
622622
}
623623

624624
octx := newObjectContext()
625-
err := fieldsByTraversal(octx, v, r.fields, r.values, true)
625+
err := fieldsByTraversal(octx, v, r.fields, r.values)
626626
if err != nil {
627627
return err
628628
}
@@ -784,7 +784,7 @@ func (r *Row) scanAny(dest interface{}, structOnly bool) error {
784784

785785
octx := newObjectContext()
786786

787-
err = fieldsByTraversal(octx, v, fields, values, true)
787+
err = fieldsByTraversal(octx, v, fields, values)
788788
if err != nil {
789789
return err
790790
}
@@ -958,7 +958,7 @@ func scanAll(rows rowsi, dest interface{}, structOnly bool) error {
958958
vp = reflect.New(base)
959959
v = reflect.Indirect(vp)
960960

961-
err = fieldsByTraversal(octx, v, fields, values, true)
961+
err = fieldsByTraversal(octx, v, fields, values)
962962
if err != nil {
963963
return err
964964
}
@@ -1024,7 +1024,7 @@ func baseType(t reflect.Type, expected reflect.Kind) (reflect.Type, error) {
10241024
// when iterating over many rows. Empty traversals will get an interface pointer.
10251025
// Because of the necessity of requesting ptrs or values, it's considered a bit too
10261026
// specialized for inclusion in reflectx itself.
1027-
func fieldsByTraversal(octx *objectContext, v reflect.Value, traversals [][]int, values []interface{}, ptrs bool) error {
1027+
func fieldsByTraversal(octx *objectContext, v reflect.Value, traversals [][]int, values []interface{}) error {
10281028
v = reflect.Indirect(v)
10291029
if v.Kind() != reflect.Struct {
10301030
return errors.New("argument not a struct")
@@ -1038,11 +1038,7 @@ func fieldsByTraversal(octx *objectContext, v reflect.Value, traversals [][]int,
10381038
continue
10391039
}
10401040
f := octx.FieldForIndexes(traversal)
1041-
if ptrs {
1042-
values[i] = f.Addr().Interface()
1043-
} else {
1044-
values[i] = f.Interface()
1045-
}
1041+
values[i] = f.Addr().Interface()
10461042
}
10471043
return nil
10481044
}

0 commit comments

Comments
 (0)