Skip to content
Snippets Groups Projects
Commit a7f7f6e9 authored by tjc's avatar tjc
Browse files

updates for lazy loading FeatureCvTerms

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@7159 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 28779619
No related branches found
No related tags found
No related merge requests found
...@@ -62,7 +62,9 @@ ...@@ -62,7 +62,9 @@
<result property="featureRelationshipsForSubjectId" column="{subject_id=id}" <result property="featureRelationshipsForSubjectId" column="{subject_id=id}"
select="getFeatureRelationship" /> select="getFeatureRelationship" />
<result property="featureSynonyms" column="{feature.uniqueName=uniqueName}" <result property="featureSynonyms" column="{feature.uniqueName=uniqueName}"
select="getLazyFeatureSynonymsByUniquename" /> select="getLazyFeatureSynonymsByUniquename" />
<result property="featureCvTerms" column="{{uniqueName=uniquename}}"
select="getFeatureCvTermsByFeature"/>
<result property="organism" column="{organismId=organismId}" <result property="organism" column="{organismId=organismId}"
select="getOrganism" /> select="getOrganism" />
</resultMap> </resultMap>
...@@ -289,54 +291,43 @@ ...@@ -289,54 +291,43 @@
WHERE f.feature_id IN <iterate open="(" close=")" conjunction=","> $[]$ </iterate> WHERE f.feature_id IN <iterate open="(" close=")" conjunction=","> $[]$ </iterate>
</select> </select>
<!-- Returns matches for all features on a given srcfeature --> <sql id="selectSimilarityMatch">
<select id="getLazySimilarityMatches" parameterClass="java.lang.Integer" SELECT
resultMap="map-similaritymatch">
SELECT
timelastmodified, timelastmodified,
f.feature_id AS id, f.feature_id AS id,
f.uniquename, f.uniquename,
f.type_id, f.type_id,
f.name AS feature_name, f.name AS feature_name,
f.seqlen, f.seqlen,
f.residues,
srcfeature_id, fmin, fmax, strand, phase, residue_info, locgroup, fl.rank, srcfeature_id, fmin, fmax, strand, phase, residue_info, locgroup, fl.rank,
rawscore, normscore, significance, identity, a.analysis_id, rawscore, normscore, significance, identity, a.analysis_id,
a.name, description, program, programversion, algorithm, sourcename, sourceversion,sourceuri, timeexecuted a.name, description, program, programversion, algorithm, sourcename, sourceversion,sourceuri, timeexecuted
FROM feature f FROM feature f
LEFT JOIN featureloc fl ON f.feature_id=fl.feature_id LEFT JOIN featureloc fl ON f.feature_id=fl.feature_id
LEFT JOIN analysisfeature af ON f.feature_id=af.feature_id LEFT JOIN analysisfeature af ON f.feature_id=af.feature_id
LEFT JOIN analysis a ON af.analysis_id=a.analysis_id LEFT JOIN analysis a ON af.analysis_id=a.analysis_id
WHERE f.feature_id IN WHERE f.type_id != (SELECT cvterm_id FROM cvterm where name='polypeptide_domain')
AND f.feature_id IN
</sql>
<!-- Returns matches for all features on a given srcfeature -->
<select id="getLazySimilarityMatches" parameterClass="java.lang.Integer"
resultMap="map-similaritymatch">
<include refid="selectSimilarityMatch"/>
( SELECT feature_id FROM featureloc WHERE srcfeature_id IN ( SELECT feature_id FROM featureloc WHERE srcfeature_id IN
( SELECT feature_id FROM featureloc WHERE srcfeature_id=$value$) ) ( SELECT feature_id FROM featureloc WHERE srcfeature_id=$value$) )
AND f.type_id != (SELECT cvterm_id FROM cvterm where name='polypeptide_domain')
ORDER BY f.feature_id ORDER BY f.feature_id
</select> </select>
<!-- Returns matches for a list of feature_id's --> <!-- Returns matches for a list of feature_id's -->
<select id="getLazySimilarityMatchesByFeatureIds" parameterClass="java.util.List" <select id="getLazySimilarityMatchesByFeatureIds" parameterClass="java.util.List"
resultMap="map-similaritymatch"> resultMap="map-similaritymatch">
SELECT <include refid="selectSimilarityMatch"/>
timelastmodified,
f.feature_id AS id,
f.uniquename,
f.type_id,
f.name AS feature_name,
f.seqlen,
f.residues,
srcfeature_id, fmin, fmax, strand, phase, residue_info, locgroup, fl.rank,
rawscore, normscore, significance, identity, a.analysis_id,
a.name, description, program, programversion, algorithm, sourcename, sourceversion,sourceuri, timeexecuted
FROM feature f
LEFT JOIN featureloc fl ON f.feature_id=fl.feature_id
LEFT JOIN analysisfeature af ON f.feature_id=af.feature_id
LEFT JOIN analysis a ON af.analysis_id=a.analysis_id
WHERE f.feature_id IN
( SELECT feature_id FROM featureloc WHERE srcfeature_id IN ( SELECT feature_id FROM featureloc WHERE srcfeature_id IN
<iterate open="(" close=")" conjunction=","> $[]$ </iterate> <iterate open="(" close=")" conjunction=","> $[]$ </iterate>
) )
AND f.type_id != (SELECT cvterm_id FROM cvterm where name='polypeptide_domain')
ORDER BY f.feature_id ORDER BY f.feature_id
</select> </select>
......
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
<result property="featureBySubjectId.uniqueName" column="subject_name"/> <result property="featureBySubjectId.uniqueName" column="subject_name"/>
<result property="featureBySubjectId.organism.commonName" column="subject_common_name"/> <result property="featureBySubjectId.organism.commonName" column="subject_common_name"/>
<result property="featureBySubjectId.cvTerm.name" column="subject_cvterm" /> <result property="featureBySubjectId.cvTerm.name" column="subject_cvterm" />
<result property="featureBySubjectId.featureCvTerms"
column="{{uniqueName=subject_name}}"
select="getFeatureCvTermsByFeature"/>
<result property="featureBySubjectId.featureRelationshipsForSubjectId" <result property="featureBySubjectId.featureRelationshipsForSubjectId"
column="{{subject_id=subject_id}}" column="{{subject_id=subject_id}}"
select="getParentFeatureRelationship" /> select="getParentFeatureRelationship" />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment