changeset 5138:c9bca9a9666c

Do not mask error with subsequent error on commit If an error occured during the transaction, COMMIT will always return an error.
author Tom Gottfried <tom@intevation.de>
date Mon, 30 Mar 2020 19:41:04 +0200
parents 7bbb1e015b44
children 8a7c39804d2f
files pkg/imports/wfsjob.go
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/wfsjob.go	Mon Mar 30 11:07:16 2020 +0200
+++ b/pkg/imports/wfsjob.go	Mon Mar 30 19:41:04 2020 +0200
@@ -311,10 +311,14 @@
 		sgc.releaseStmts()
 		sgc.tx = nil
 		sgc.ctx = nil
-		if err2 := tx.Commit(); err2 != nil {
-			// A real error on commit overrules the first.
-			err = err2
+		if err != nil {
+			if err2 := tx.Rollback(); err2 != nil {
+				// A real error on rollback overrules the first.
+				err = err2
+			}
+			return err
 		}
+		err = tx.Commit()
 	}
 	return err
 }