Mercurial > gemma
diff pkg/imports/wg.go @ 3529:ba0339118d9c
Improve validation of gauge temporal validity
The current version of a gauge should always have a validity represented
by a non-empty time range. Thus, do not accept empty time ranges on input.
Nevertheless, continue to accept storing empty time ranges (no CHECK
constraint), because a new version with equal start date but longer
validity might still cause the previous version to get an empty time
range.
In passing, add a missing NOT NULL constraint: if both start and end
date are omitted, the range will be unbounded, but it should never
be NULL.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 29 May 2019 16:43:26 +0200 |
parents | 50d40ed6e3da |
children | a5448426e4e2 |
line wrap: on
line diff
--- a/pkg/imports/wg.go Wed May 29 16:00:28 2019 +0200 +++ b/pkg/imports/wg.go Wed May 29 16:43:26 2019 +0200 @@ -235,10 +235,10 @@ gauges = append(gauges, isrs) feedback.Info("Processing %s", code) - // We need a valid time range to identify gauge versions in DB + // We need a valid, non-empty time range to identify gauge versions if dr.Enddate != nil && dr.Startdate != nil && - time.Time(*dr.Enddate).Before(time.Time(*dr.Startdate)) { - feedback.Warn("End date before start date") + !time.Time(*dr.Enddate).After(time.Time(*dr.Startdate)) { + feedback.Warn("End date not after start date") unchanged++ continue }