diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java @ 2609:ed550e325248

Little optimization when fetching q ranges for single columns of wsts. flys-artifacts/trunk@4191 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 03 Apr 2012 14:41:31 +0000
parents 1f90fdd4fa04
children 3c907758f0ab
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java	Tue Apr 03 13:46:16 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java	Tue Apr 03 14:41:31 2012 +0000
@@ -53,7 +53,7 @@
 
     /** Statement to query qranges of a single column. */
     public static final String SQL_SELECT_QS_AT_COL =
-        "SELECT column_pos, q, a, b FROM wst_q_values " +
+        "SELECT q, a, b FROM wst_q_values " +
         "WHERE wst_id = :wst_id AND column_pos = :column_pos";
 
     // (sorted by km)
@@ -369,10 +369,9 @@
         int                     column_pos
     ) {
         SQLQuery sqlQuery = session.createSQLQuery(SQL_SELECT_QS_AT_COL)
-            .addScalar("column_pos", StandardBasicTypes.INTEGER) // keep to maintain order.
-            .addScalar("q",          StandardBasicTypes.DOUBLE)
-            .addScalar("a",          StandardBasicTypes.DOUBLE)
-            .addScalar("b",          StandardBasicTypes.DOUBLE);
+            .addScalar("q", StandardBasicTypes.DOUBLE)
+            .addScalar("a", StandardBasicTypes.DOUBLE)
+            .addScalar("b", StandardBasicTypes.DOUBLE);
 
         sqlQuery.setInteger("wst_id",     wst_id);
         sqlQuery.setInteger("column_pos", column_pos);
@@ -381,7 +380,8 @@
 
         int qSize = qRanges.size();
 
-        QRangeTree qRangeTree = new QRangeTree(qRanges, 0, qSize);
+        QRangeTree qRangeTree = new QRangeTree(
+            qRanges, QRangeTree.WITHOUT_COLUMN, 0, qSize);
         columns[0].setQRangeTree(qRangeTree);
     }
 

http://dive4elements.wald.intevation.org