changeset 3164:1de0764f6af4

Use context for preparation of transaction-specific statements
author Tom Gottfried <tom@intevation.de>
date Mon, 06 May 2019 13:33:19 +0200
parents d9903cb34842
children 891705431545
files pkg/imports/bn.go
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/bn.go	Mon May 06 13:25:49 2019 +0200
+++ b/pkg/imports/bn.go	Mon May 06 13:33:19 2019 +0200
@@ -257,7 +257,8 @@
 	defer tx.Rollback()
 
 	var found bool
-	err = tx.Stmt(hasStmt).QueryRowContext(ctx, bn.Bottleneck_id).Scan(&found)
+	err = tx.StmtContext(ctx, hasStmt).QueryRowContext(ctx,
+		bn.Bottleneck_id).Scan(&found)
 	switch {
 	case err == sql.ErrNoRows:
 		// This is good.
@@ -283,7 +284,7 @@
 
 	var nid int64
 
-	err = tx.Stmt(insertStmt).QueryRowContext(
+	err = tx.StmtContext(ctx, insertStmt).QueryRowContext(
 		ctx,
 		bn.Bottleneck_id,
 		bn.Fk_g_fid,
@@ -309,7 +310,8 @@
 		for _, material := range bn.Riverbed.Material {
 			if material != nil {
 				mat := string(*material)
-				if _, err := tx.Stmt(insertMaterialStmt).ExecContext(
+				if _, err := tx.StmtContext(ctx,
+					insertMaterialStmt).ExecContext(
 					ctx, nid, material); err != nil {
 					feedback.Warn(
 						"Failed to insert riverbed material '%s' for bottleneck '%s'.",
@@ -320,7 +322,7 @@
 		}
 	}
 
-	if _, err := tx.Stmt(trackStmt).ExecContext(
+	if _, err := tx.StmtContext(ctx, trackStmt).ExecContext(
 		ctx, importID, "waterway.bottlenecks", nid,
 	); err != nil {
 		return err