@@ -145,7 +145,7 @@ func In(query string, args ...interface{}) (string, []interface{}, error) {
145145 }
146146
147147 newArgs := make ([]interface {}, 0 , flatArgsCount )
148- buf := bytes . NewBuffer ( make ([]byte , 0 , len (query )+ len (", ?" )* flatArgsCount ) )
148+ buf := make ([]byte , 0 , len (query )+ len (", ?" )* flatArgsCount )
149149
150150 var arg , offset int
151151
@@ -171,10 +171,10 @@ func In(query string, args ...interface{}) (string, []interface{}, error) {
171171 }
172172
173173 // write everything up to and including our ? character
174- buf . WriteString ( query [:offset + i + 1 ])
174+ buf = append ( buf , query [:offset + i + 1 ]... )
175175
176176 for si := 1 ; si < argMeta .length ; si ++ {
177- buf . WriteString ( ", ?" )
177+ buf = append ( buf , ", ?" ... )
178178 }
179179
180180 newArgs = appendReflectSlice (newArgs , argMeta .v , argMeta .length )
@@ -185,13 +185,13 @@ func In(query string, args ...interface{}) (string, []interface{}, error) {
185185 offset = 0
186186 }
187187
188- buf . WriteString ( query )
188+ buf = append ( buf , query ... )
189189
190190 if arg < len (meta ) {
191191 return "" , nil , errors .New ("number of bindVars less than number arguments" )
192192 }
193193
194- return buf . String ( ), newArgs , nil
194+ return string ( buf ), newArgs , nil
195195}
196196
197197func appendReflectSlice (args []interface {}, v reflect.Value , vlen int ) []interface {} {
0 commit comments