From 13c24c63d064be5ca732047e13b58a8abb25cdee Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Tue, 26 Mar 2013 10:37:14 -0500 Subject: [PATCH] Issue #1821 Optimize FFG version query. Former-commit-id: 3e9651bab31c7a5b6aad437c88dfdc301ba8bf37 [formerly 54b9d0d9495436bfe8371b1ffb97d2b63de9dbad] [formerly 640618cf830508cfe1f84fbd9c831e0a034aa074 [formerly 3049bc94c966b65c1c3efd58859f7e00e209f082]] [formerly 7bde9f6d323c00e4c88d1fd90aa42a5957d4e58b [formerly 3049bc94c966b65c1c3efd58859f7e00e209f082 [formerly 6d75a1b79cfd46de69db2d3cb452711f3ea1254d]]] Former-commit-id: 7bde9f6d323c00e4c88d1fd90aa42a5957d4e58b Former-commit-id: 8f9afd15bfe68ce83ae16aab8d6d25efc8daf0f1 [formerly 39259b1b0b321ad50213d8eb0696d25f0156dd29] Former-commit-id: ae27d029a1a14df2af97d49e60e7b8aee400cc17 --- .../decoderpostprocessors/FFGGribPostProcessor.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/decoderpostprocessors/FFGGribPostProcessor.java b/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/decoderpostprocessors/FFGGribPostProcessor.java index a9a8b1e13b..4e71a4a7d1 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/decoderpostprocessors/FFGGribPostProcessor.java +++ b/edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/decoderpostprocessors/FFGGribPostProcessor.java @@ -41,6 +41,7 @@ import com.raytheon.uf.edex.plugin.grid.dao.GridDao; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 8/31/10 5875 bphillip Initial Creation + * Mar 26, 2013 1821 bsteffen Optimize FFG version query. * * * @@ -61,6 +62,15 @@ public class FFGGribPostProcessor implements IDecoderPostProcessor { DatabaseQuery query = new DatabaseQuery(GridRecord.class); query.addReturnedField(GridConstants.SECONDARY_ID); + // The dataURI constraint does the final selection but the other + // constraints help the db optimize efficiently. + query.addQueryParam(GridConstants.DATASET_ID, record.getDatasetId()); + query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, record + .getParameter().getAbbreviation()); + query.addQueryParam(GridConstants.LEVEL_ID, record.getLevel() + .getId()); + query.addQueryParam(GridConstants.LOCATION_ID, record.getLocation() + .getId()); query.addQueryParam("dataURI", record.getDataURI(), QueryOperand.LIKE); List result = gribDao.queryByCriteria(query);