File tree 1 file changed +10
-15
lines changed
1 file changed +10
-15
lines changed Original file line number Diff line number Diff line change @@ -192,25 +192,20 @@ func (mc *Client) ExecTxn(ctx context.Context, cmd func(sessionContext mongo.Ses
192
192
if err != nil {
193
193
return err
194
194
}
195
- if err = session .StartTransaction (); err != nil {
196
- return err
197
- }
198
195
defer session .EndSession (ctx )
199
- if err = mongo .WithSession (ctx , session , func (sc mongo.SessionContext ) error {
196
+ err = mongo .WithSession (ctx , session , func (sc mongo.SessionContext ) error {
197
+ if err = session .StartTransaction (); err != nil {
198
+ return err
199
+ }
200
200
if err = cmd (sc ); err != nil {
201
- if err = session .AbortTransaction (sc ); err != nil {
202
- return err
203
- }
204
- } else {
205
- if err = session .CommitTransaction (sc ); err != nil {
206
- return err
201
+ if abortErr := session .AbortTransaction (sc ); abortErr != nil {
202
+ return abortErr
207
203
}
204
+ return err
208
205
}
209
- return nil
210
- }); err != nil {
211
- return err
212
- }
213
- return nil
206
+ return session .CommitTransaction (sc )
207
+ })
208
+ return err
214
209
}
215
210
216
211
func (mc * Client ) GetDB () * mongo.Database {
You can’t perform that action at this time.
0 commit comments