changeset 5231:225b2d0a1824 new-fwa

Validities may have an NULL upper bound.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 12 May 2020 13:58:42 +0200
parents 40c9acd114cd
children 40f09b2afd01
files pkg/controllers/fwa.go
diffstat 1 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/controllers/fwa.go	Tue May 12 13:49:19 2020 +0200
+++ b/pkg/controllers/fwa.go	Tue May 12 13:58:42 2020 +0200
@@ -564,15 +564,23 @@
 	defer rows.Close()
 
 	for rows.Next() {
-		var lv limitingValidity
-		var limiting string
+		var (
+			lv       limitingValidity
+			limiting string
+			upper    sql.NullTime
+		)
 		if err := rows.Scan(
 			&limiting,
 			&lv.lower,
-			&lv.upper,
+			&upper,
 		); err != nil {
 			return nil, err
 		}
+		if upper.Valid {
+			lv.upper = upper.Time
+		} else {
+			lv.upper = to.Add(24 * time.Hour)
+		}
 		lv.toUTC()
 		lv.limiting = parseLimitingFactor(limiting)
 		lvs = append(lvs, lv)
@@ -677,9 +685,15 @@
 	defer rows.Close()
 	for rows.Next() {
 		l := ldc{value: []float64{0}}
-		if err := rows.Scan(&l.lower, &l.upper, &l.value[0]); err != nil {
+		var upper sql.NullTime
+		if err := rows.Scan(&l.lower, &upper, &l.value[0]); err != nil {
 			return err
 		}
+		if upper.Valid {
+			l.upper = upper.Time
+		} else {
+			l.upper = to.Add(24 * time.Hour)
+		}
 		l.toUTC()
 		for i := range bn.validities {
 			vs := bn.validities[i]