@@ -12,6 +12,7 @@ import (
1212 "errors"
1313 "fmt"
1414 "net"
15+ "reflect"
1516 "strings"
1617
1718 "go.mongodb.org/mongo-driver/v2/bson"
@@ -52,19 +53,21 @@ func replaceErrors(err error) error {
5253 return nil
5354 }
5455
56+ fmt .Println ("replaceErrors" , reflect .TypeOf (err ))
57+
5558 // Do not propagate the acknowledgement sentinel error. For DDL commands,
5659 // (creating indexes, dropping collections, etc) acknowledgement should be
5760 // ignored. For non-DDL write commands (insert, update, etc), acknowledgement
5861 // should be be propagated at the result-level: e.g.,
5962 // SingleResult.Acknowledged.
60- if errors . Is ( err , driver .ErrUnacknowledgedWrite ) {
63+ if err == driver .ErrUnacknowledgedWrite {
6164 return nil
6265 }
6366
6467 if errors .Is (err , topology .ErrTopologyClosed ) {
6568 return ErrClientDisconnected
6669 }
67- if de := new (driver.Error ); errors . As ( err , de ) {
70+ if de , ok := err . (driver.Error ); ok {
6871 return CommandError {
6972 Code : de .Code ,
7073 Message : de .Message ,
@@ -74,7 +77,7 @@ func replaceErrors(err error) error {
7477 Raw : bson .Raw (de .Raw ),
7578 }
7679 }
77- if qe := new (driver.QueryFailureError ); errors . As ( err , qe ) {
80+ if qe , ok := err . (driver.QueryFailureError ); ok {
7881 // qe.Message is "command failure"
7982 ce := CommandError {
8083 Name : qe .Message ,
@@ -93,15 +96,15 @@ func replaceErrors(err error) error {
9396
9497 return ce
9598 }
96- if me := new (mongocrypt.Error ); errors . As ( err , me ) {
99+ if me , ok := err . (mongocrypt.Error ); ok {
97100 return MongocryptError {Code : me .Code , Message : me .Message }
98101 }
99102
100103 if errors .Is (err , codecutil .ErrNilValue ) {
101104 return ErrNilValue
102105 }
103106
104- if marshalErr := new (codecutil.MarshalError ); errors . As ( err , marshalErr ) {
107+ if marshalErr , ok := err . (codecutil.MarshalError ); ok {
105108 return MarshalError {
106109 Value : marshalErr .Value ,
107110 Err : marshalErr .Err ,
0 commit comments