[PATCH 2 of 3] (issue1750) There can be only one SQ-relation of a parameter for a time range (given by sq_relation_id) per station and some other attributes might be null
Wald Commits
scm-commit at wald.intevation.org
Fri Apr 17 19:32:42 CEST 2015
# HG changeset patch
# User Tom Gottfried <tom at intevation.de>
# Date 1429275342 -7200
# Node ID bfca77cbf3536b248344469891b94082b7269516
# Parent 11c88a2f695af4a5a6da841a1b87777e9c4c0f21
(issue1750) There can be only one SQ-relation of a parameter for a time range (given by sq_relation_id) per station and some other attributes might be null.
diff -r 11c88a2f695a -r bfca77cbf353 backend/doc/schema/postgresql-minfo.sql
--- a/backend/doc/schema/postgresql-minfo.sql Fri Apr 17 14:50:08 2015 +0200
+++ b/backend/doc/schema/postgresql-minfo.sql Fri Apr 17 14:55:42 2015 +0200
@@ -399,6 +399,7 @@
cferguson NUMERIC,
cduan NUMERIC,
PRIMARY KEY (id),
+ UNIQUE(sq_relation_id, measurement_station_id, parameter),
CONSTRAINT fk_sqr_id FOREIGN KEY (sq_relation_id)
REFERENCES sq_relation(id) ON DELETE CASCADE,
CONSTRAINT fk_mstation_id FOREIGN KEY (measurement_station_id)
diff -r 11c88a2f695a -r bfca77cbf353 backend/src/main/java/org/dive4elements/river/importer/ImportSQRelationValue.java
--- a/backend/src/main/java/org/dive4elements/river/importer/ImportSQRelationValue.java Fri Apr 17 14:50:08 2015 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/ImportSQRelationValue.java Fri Apr 17 14:55:42 2015 +0200
@@ -77,29 +77,17 @@
public SQRelationValue getPeer(SQRelation owner) {
if (peer == null) {
Session session = ImporterSession.getInstance().getDatabaseSession();
- Query query2 = session.createQuery(
+ Query query = session.createQuery(
"from SQRelationValue " +
" where sqRelation=:owner " +
- " and parameter=:parameter" +
" and measurementStation=:measurementStation" +
- " and a=:a" +
- " and b=:b" +
- " and qMax=:qMax" +
- " and rSQ=:rSQ" +
- " and cFerguson=:cFerguson" +
- " and cDuan=:cDuan");
+ " and parameter=:parameter");
- query2.setParameter("owner", owner);
- query2.setString("parameter", parameter);
- query2.setParameter("measurementStation", station);
- query2.setBigDecimal("a", toBigDecimal(a));
- query2.setBigDecimal("b", toBigDecimal(b));
- query2.setBigDecimal("qMax", toBigDecimal(qMax));
- query2.setBigDecimal("rSQ", toBigDecimal(rSQ));
- query2.setBigDecimal("cFerguson", toBigDecimal(cFerguson));
- query2.setBigDecimal("cDuan", toBigDecimal(cDuan));
+ query.setParameter("owner", owner);
+ query.setParameter("measurementStation", station);
+ query.setString("parameter", parameter);
- List<SQRelationValue> values = query2.list();
+ List<SQRelationValue> values = query.list();
if (values.isEmpty()) {
peer = new SQRelationValue(
More information about the Dive4Elements-commits
mailing list