From fcdfb8ee857560ecc64548915b8ccb7dcc5e4364 Mon Sep 17 00:00:00 2001 From: Andrew Moon Date: Tue, 6 Oct 2015 17:06:11 -0500 Subject: [PATCH] Fixed race condition when running selects within go routines. --- crud_exec.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/crud_exec.go b/crud_exec.go index 605bd7c5..f0769450 100644 --- a/crud_exec.go +++ b/crud_exec.go @@ -24,8 +24,6 @@ type ( selectResults []Record ) -var struct_map_cache = make(map[interface{}]columnMap) - func newCrudExec(database database, err error, sql string, args ...interface{}) *CrudExec { return &CrudExec{database: database, err: err, Sql: sql, Args: args} } @@ -278,10 +276,7 @@ func getColumnMap(i interface{}) (columnMap, error) { if valKind != reflect.Struct { return nil, NewGoquError(fmt.Sprintf("Cannot SELECT into this type: %v", t)) } - if _, ok := struct_map_cache[t]; !ok { - struct_map_cache[t] = createColumnMap(t) - } - return struct_map_cache[t], nil + return createColumnMap(t), nil } func createColumnMap(t reflect.Type) columnMap {