diff options
Diffstat (limited to 'vendor/github.com/jmoiron/sqlx/sqlx.go')
-rw-r--r-- | vendor/github.com/jmoiron/sqlx/sqlx.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vendor/github.com/jmoiron/sqlx/sqlx.go b/vendor/github.com/jmoiron/sqlx/sqlx.go index c7a0bf3..4859d5a 100644 --- a/vendor/github.com/jmoiron/sqlx/sqlx.go +++ b/vendor/github.com/jmoiron/sqlx/sqlx.go @@ -10,6 +10,7 @@ import ( "path/filepath" "reflect" "strings" + "sync" "github.com/jmoiron/sqlx/reflectx" ) @@ -30,8 +31,14 @@ var origMapper = reflect.ValueOf(NameMapper) // importers have time to customize the NameMapper. var mpr *reflectx.Mapper +// mprMu protects mpr. +var mprMu sync.Mutex + // mapper returns a valid mapper using the configured NameMapper func. func mapper() *reflectx.Mapper { + mprMu.Lock() + defer mprMu.Unlock() + if mpr == nil { mpr = reflectx.NewMapperFunc("db", NameMapper) } else if origMapper != reflect.ValueOf(NameMapper) { |