From 36b670af9d8c9f379c9b9176cfa094b4502a9bae Mon Sep 17 00:00:00 2001 From: Peter Kieltyka <peter.kieltyka@pressly.com> Date: Mon, 29 Aug 2016 17:52:22 -0400 Subject: [PATCH] One less get and read lock --- internal/sqladapter/exql/template.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/sqladapter/exql/template.go b/internal/sqladapter/exql/template.go index d2cf0c32..5b8637f9 100644 --- a/internal/sqladapter/exql/template.go +++ b/internal/sqladapter/exql/template.go @@ -77,11 +77,12 @@ func mustParse(text string, data interface{}) string { var b bytes.Buffer var ok bool - if _, ok = templateCache.Get(text); !ok { - templateCache.Set(text, template.Must(template.New("").Parse(text))) + v, ok := templateCache.Get(text) + if !ok { + v = template.Must(template.New("").Parse(text)) + templateCache.Set(text, v) } - v, _ := templateCache.Get(text) if err := v.Execute(&b, data); err != nil { panic("There was an error compiling the following template:\n" + text + "\nError was: " + err.Error()) } -- GitLab