From bbffb240c2fd95226331b7d0794f0e89f44f2319 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Thu, 14 May 2009 15:37:17 +0000 Subject: [PATCH] changes to speed up getOrganismsContainingSrcFeatures git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@10812 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- artemis_sqlmap/Organism.xml | 16 +++++++++------- uk/ac/sanger/artemis/chado/IBatisDAO.java | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/artemis_sqlmap/Organism.xml b/artemis_sqlmap/Organism.xml index 8b03b450a..96f608051 100644 --- a/artemis_sqlmap/Organism.xml +++ b/artemis_sqlmap/Organism.xml @@ -81,13 +81,15 @@ </select> <select id="getTopLevelOrganisms" resultMap="map-organism"> - SELECT DISTINCT ON( feature.organism_id ) - organism.organism_id AS organismId, abbreviation, genus, species, common_name AS commonName, comment - FROM feature - join organism using (organism_id) - JOIN featureprop using (feature_id) - WHERE featureprop.type_id in - (SELECT cvterm_id FROM cvterm JOIN cv using (cv_id) WHERE cv.name = 'genedb_misc' AND cvterm.name = 'top_level_seq' ) + SELECT organism.organism_id AS organismId, abbreviation, genus, species, common_name AS commonName, comment + FROM organism + WHERE exists ( + SELECT * + FROM organismprop + JOIN cvterm on organismprop.type_id = cvterm.cvterm_id + JOIN cv using (cv_id) + WHERE organism_id = organism.organism_id + AND cv.name = 'genedb_misc' and cvterm.name = 'populated' ) </select> </sqlMap> diff --git a/uk/ac/sanger/artemis/chado/IBatisDAO.java b/uk/ac/sanger/artemis/chado/IBatisDAO.java index 2da3faa42..2e9f1c99d 100644 --- a/uk/ac/sanger/artemis/chado/IBatisDAO.java +++ b/uk/ac/sanger/artemis/chado/IBatisDAO.java @@ -593,7 +593,7 @@ public class IBatisDAO extends GmodDAO public List getOrganismsContainingSrcFeatures() { - CvTerm cvTerm = getCvTermByNameAndCvName("top_level_seq", "genedb_misc"); + CvTerm cvTerm = getCvTermByNameAndCvName("populated", "genedb_misc"); if(cvTerm != null) return sqlMap.queryForList("getTopLevelOrganisms", null); else -- GitLab