@@ -329,10 +329,8 @@ func (resp *baseResponse) Decode() ([]interface{}, error) {
329329 var l int
330330 info := & decodeInfo {}
331331
332- d := msgpack .NewDecoder (& resp .buf )
333- d .SetMapDecoder (func (dec * msgpack.Decoder ) (interface {}, error ) {
334- return dec .DecodeUntypedMap ()
335- })
332+ d := getDecoder (& resp .buf )
333+ defer putDecoder (d )
336334
337335 if l , err = d .DecodeMapLen (); err != nil {
338336 resp .err = err
@@ -384,10 +382,8 @@ func (resp *SelectResponse) Decode() ([]interface{}, error) {
384382 var l int
385383 info := & decodeInfo {}
386384
387- d := msgpack .NewDecoder (& resp .buf )
388- d .SetMapDecoder (func (dec * msgpack.Decoder ) (interface {}, error ) {
389- return dec .DecodeUntypedMap ()
390- })
385+ d := getDecoder (& resp .buf )
386+ defer putDecoder (d )
391387
392388 if l , err = d .DecodeMapLen (); err != nil {
393389 resp .err = err
@@ -447,10 +443,8 @@ func (resp *ExecuteResponse) Decode() ([]interface{}, error) {
447443 var l int
448444 info := & decodeInfo {}
449445
450- d := msgpack .NewDecoder (& resp .buf )
451- d .SetMapDecoder (func (dec * msgpack.Decoder ) (interface {}, error ) {
452- return dec .DecodeUntypedMap ()
453- })
446+ d := getDecoder (& resp .buf )
447+ defer putDecoder (d )
454448
455449 if l , err = d .DecodeMapLen (); err != nil {
456450 resp .err = err
@@ -535,10 +529,8 @@ func (resp *baseResponse) DecodeTyped(res interface{}) error {
535529 info := & decodeInfo {}
536530 var l int
537531
538- d := msgpack .NewDecoder (& resp .buf )
539- d .SetMapDecoder (func (dec * msgpack.Decoder ) (interface {}, error ) {
540- return dec .DecodeUntypedMap ()
541- })
532+ d := getDecoder (& resp .buf )
533+ defer putDecoder (d )
542534
543535 if l , err = d .DecodeMapLen (); err != nil {
544536 return err
@@ -576,10 +568,8 @@ func (resp *SelectResponse) DecodeTyped(res interface{}) error {
576568 info := & decodeInfo {}
577569 var l int
578570
579- d := msgpack .NewDecoder (& resp .buf )
580- d .SetMapDecoder (func (dec * msgpack.Decoder ) (interface {}, error ) {
581- return dec .DecodeUntypedMap ()
582- })
571+ d := getDecoder (& resp .buf )
572+ defer putDecoder (d )
583573
584574 if l , err = d .DecodeMapLen (); err != nil {
585575 return err
@@ -624,10 +614,8 @@ func (resp *ExecuteResponse) DecodeTyped(res interface{}) error {
624614 info := & decodeInfo {}
625615 var l int
626616
627- d := msgpack .NewDecoder (& resp .buf )
628- d .SetMapDecoder (func (dec * msgpack.Decoder ) (interface {}, error ) {
629- return dec .DecodeUntypedMap ()
630- })
617+ d := getDecoder (& resp .buf )
618+ defer putDecoder (d )
631619
632620 if l , err = d .DecodeMapLen (); err != nil {
633621 return err
0 commit comments