@@ -136,7 +136,7 @@ func In(query string, args ...interface{}) (string, []interface{}, error) {
136136 }
137137
138138 newArgs := make ([]interface {}, 0 , flatArgsCount )
139- buf := bytes . NewBuffer ( make ([]byte , 0 , len (query )+ len (", ?" )* flatArgsCount ) )
139+ buf := make ([]byte , 0 , len (query )+ len (", ?" )* flatArgsCount )
140140
141141 var arg , offset int
142142
@@ -162,10 +162,10 @@ func In(query string, args ...interface{}) (string, []interface{}, error) {
162162 }
163163
164164 // write everything up to and including our ? character
165- buf . WriteString ( query [:offset + i + 1 ])
165+ buf = append ( buf , query [:offset + i + 1 ]... )
166166
167167 for si := 1 ; si < argMeta .length ; si ++ {
168- buf . WriteString ( ", ?" )
168+ buf = append ( buf , ", ?" ... )
169169 }
170170
171171 newArgs = appendReflectSlice (newArgs , argMeta .v , argMeta .length )
@@ -176,13 +176,13 @@ func In(query string, args ...interface{}) (string, []interface{}, error) {
176176 offset = 0
177177 }
178178
179- buf . WriteString ( query )
179+ buf = append ( buf , query ... )
180180
181181 if arg < len (meta ) {
182182 return "" , nil , errors .New ("number of bindVars less than number arguments" )
183183 }
184184
185- return buf . String ( ), newArgs , nil
185+ return string ( buf ), newArgs , nil
186186}
187187
188188func appendReflectSlice (args []interface {}, v reflect.Value , vlen int ) []interface {} {
0 commit comments