Mercurial > gemma
diff pkg/imports/gm.go @ 3533:8e083b271fca
Improve error messages if no matching gauge version found
Avoid hitting the NOT NULL constraint of the referencing validity
column in order to hit the foreign key constraint instead and emit
an appropriate error message in all such cases.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 29 May 2019 18:14:20 +0200 |
parents | ec6163c6687d |
children | d38b20ccb6f9 |
line wrap: on
line diff
--- a/pkg/imports/gm.go Wed May 29 16:56:56 2019 +0200 +++ b/pkg/imports/gm.go Wed May 29 18:14:20 2019 +0200 @@ -73,10 +73,12 @@ staging_done ) VALUES ( ($1, $2, $3, $4, $5), - (SELECT validity FROM waterway.gauges - WHERE location - = ($1::char(2), $2::char(3), $3::char(5), $4::char(5), $5::int) - AND validity @> CAST($6 AS timestamp with time zone)), + COALESCE( + (SELECT validity FROM waterway.gauges + WHERE location + = ($1::char(2), $2::char(3), $3::char(5), $4::char(5), $5::int) + AND validity @> CAST($6 AS timestamp with time zone)), + tstzrange(NULL, NULL)), $6, $7, $8, @@ -108,10 +110,12 @@ source_organization ) VALUES( ($1, $2, $3, $4, $5), - (SELECT validity FROM waterway.gauges - WHERE location - = ($1::char(2), $2::char(3), $3::char(5), $4::char(5), $5::int) - AND validity @> CAST($6 AS timestamp with time zone)), + COALESCE( + (SELECT validity FROM waterway.gauges + WHERE location + = ($1::char(2), $2::char(3), $3::char(5), $4::char(5), $5::int) + AND validity @> CAST($6 AS timestamp with time zone)), + tstzrange(NULL, NULL)), $6, $7, $8,