Mercurial > gemma
view pkg/imports/track.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 | 59055c8301df |
children | e45442db19b1 |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package imports import ( "context" "database/sql" ) const ( trackImportSQL = ` INSERT INTO import.track_imports (import_id, relation, key) VALUES ($1, $2::regclass, $3)` ) func track(ctx context.Context, tx *sql.Tx, importID int64, relation string, key int64) error { _, err := tx.ExecContext(ctx, trackImportSQL, importID, relation, key) return err }