aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/jmoiron/sqlx/named.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/jmoiron/sqlx/named.go')
-rw-r--r--vendor/github.com/jmoiron/sqlx/named.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/vendor/github.com/jmoiron/sqlx/named.go b/vendor/github.com/jmoiron/sqlx/named.go
index dd899d3..69eb954 100644
--- a/vendor/github.com/jmoiron/sqlx/named.go
+++ b/vendor/github.com/jmoiron/sqlx/named.go
@@ -163,16 +163,18 @@ func bindArgs(names []string, arg interface{}, m *reflectx.Mapper) ([]interface{
v = v.Elem()
}
- fields := m.TraversalsByName(v.Type(), names)
- for i, t := range fields {
+ err := m.TraversalsByNameFunc(v.Type(), names, func(i int, t []int) error {
if len(t) == 0 {
- return arglist, fmt.Errorf("could not find name %s in %#v", names[i], arg)
+ return fmt.Errorf("could not find name %s in %#v", names[i], arg)
}
+
val := reflectx.FieldByIndexesReadOnly(v, t)
arglist = append(arglist, val.Interface())
- }
- return arglist, nil
+ return nil
+ })
+
+ return arglist, err
}
// like bindArgs, but for maps.