diff pkg/controllers/cross.go @ 658:288c496eca26

Cross sections: Simplified joining segments code a bit and moved timing into controller.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 14 Sep 2018 18:02:53 +0200
parents baa31814717c
children bb0788567609
line wrap: on
line diff
--- a/pkg/controllers/cross.go	Fri Sep 14 17:45:42 2018 +0200
+++ b/pkg/controllers/cross.go	Fri Sep 14 18:02:53 2018 +0200
@@ -35,17 +35,16 @@
 
 	csi := input.(*models.CrossSectionInput)
 
-	var rows *sql.Rows
-
 	start := time.Now()
 
-	rows, err = db.QueryContext(
+	var rows *sql.Rows
+	if rows, err = db.QueryContext(
 		req.Context(),
 		crossSQL,
 		csi.Geometry.Coordinates.AsWKB(),
 		csi.Properties.Bottleneck,
-		csi.Properties.Date.Time)
-	if err != nil {
+		csi.Properties.Date.Time,
+	); err != nil {
 		return
 	}
 	defer rows.Close()
@@ -64,10 +63,15 @@
 		return
 	}
 
-	log.Printf("query took %v\n", time.Since(start))
+	log.Printf("query took: %v\n", time.Since(start))
+
+	start = time.Now()
 
 	joined := segments.Join()
 
+	log.Printf("joining took: %v\n", time.Since(start))
+	log.Printf("segments before/after: %d %d\n", len(segments), len(joined))
+
 	/*
 		if err2 := dumpProfile(
 			csi.Geometry.Coordinates[0],