@@ -67,7 +67,8 @@ func ExecuteInTx(ctx context.Context, tx Tx, fn func() error) (err error) {
6767 retryCount := 0
6868 for {
6969 releaseFailed := false
70- if err = fn (); err == nil {
70+ err = fn ()
71+ if err == nil {
7172 // RELEASE acts like COMMIT in CockroachDB. We use it since it gives us an
7273 // opportunity to react to retryable errors, whereas tx.Commit() doesn't.
7374 if err = tx .Exec (ctx , "RELEASE SAVEPOINT cockroach_restart" ); err == nil {
@@ -76,9 +77,7 @@ func ExecuteInTx(ctx context.Context, tx Tx, fn func() error) (err error) {
7677 releaseFailed = true
7778 }
7879
79- // We got an error (i.e. err != nil) if at this point
80-
81- // Let's see if it's a retryable one and, if so, restart.
80+ // We got an error; let's see if it's a retryable one and, if so, restart.
8281 if ! errIsRetryable (err ) {
8382 if releaseFailed {
8483 err = newAmbiguousCommitError (err )
@@ -87,14 +86,12 @@ func ExecuteInTx(ctx context.Context, tx Tx, fn func() error) (err error) {
8786 }
8887
8988 if rollbackErr := tx .Exec (ctx , "ROLLBACK TO SAVEPOINT cockroach_restart" ); rollbackErr != nil {
90- err = newTxnRestartError (rollbackErr , err )
91- return err
89+ return newTxnRestartError (rollbackErr , err )
9290 }
9391
9492 retryCount ++
9593 if retryCount > maxRetries {
96- err = newMaxRetriesExceededError (err , maxRetries )
97- return err
94+ return newMaxRetriesExceededError (err , maxRetries )
9895 }
9996 }
10097}
0 commit comments