@@ -411,7 +411,7 @@ func (c *baseClient) pipelineProcessCmds(
411
411
ctx context.Context , cn * pool.Conn , cmds []Cmder ,
412
412
) (bool , error ) {
413
413
err := cn .WithWriter (ctx , c .opt .WriteTimeout , func (wr * proto.Writer ) error {
414
- return writeCmd (wr , cmds ... )
414
+ return writeCmds (wr , cmds )
415
415
})
416
416
if err != nil {
417
417
return true , err
@@ -453,12 +453,22 @@ func (c *baseClient) txPipelineProcessCmds(
453
453
return false , err
454
454
}
455
455
456
+ var (
457
+ multi = NewStatusCmd ("multi" )
458
+ exec = NewSliceCmd ("exec" )
459
+ )
460
+
456
461
func txPipelineWriteMulti (wr * proto.Writer , cmds []Cmder ) error {
457
- multiExec := make ([]Cmder , 0 , len (cmds )+ 2 )
458
- multiExec = append (multiExec , NewStatusCmd ("MULTI" ))
459
- multiExec = append (multiExec , cmds ... )
460
- multiExec = append (multiExec , NewSliceCmd ("EXEC" ))
461
- return writeCmd (wr , multiExec ... )
462
+ if err := writeCmd (wr , multi ); err != nil {
463
+ return err
464
+ }
465
+ if err := writeCmds (wr , cmds ); err != nil {
466
+ return err
467
+ }
468
+ if err := writeCmd (wr , exec ); err != nil {
469
+ return err
470
+ }
471
+ return nil
462
472
}
463
473
464
474
func txPipelineReadQueued (rd * proto.Reader , cmds []Cmder ) error {
0 commit comments