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

handle schema without feature_cvterm.rank column

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@5178 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 56f452f0
Branches
Tags
No related merge requests found
......@@ -8,7 +8,8 @@
<typeAlias alias="FeatureCvTerm"
type="org.gmod.schema.sequence.FeatureCvTerm"/>
<resultMap id="select-featurecvterm" class="FeatureCvTerm"
<resultMap id="select-featurecvterm-no-rank" class="FeatureCvTerm"
groupBy="featureCvTermId">
<result property="featureCvTermId" column="feature_cvterm_id" />
<result property="feature.featureId" column="feature_id" />
......@@ -16,7 +17,7 @@
<result property="cvTerm.name" column="cvterm_name" />
<result property="cvTerm.cv.name" column="cv_name" />
<result property="not" column="is_not" />
<result property="rank" column="fc_rank" />
<result property="featureCvTermProps" resultMap="FeatureCvTermProp.feature_cvtermprop" />
<result property="pub.pubId" column="pub_id" />
<result property="pub.uniqueName" column="uniquename" />
......@@ -27,17 +28,49 @@
<!-- <result property="pub" column="pub_id" select="selectPub" /> -->
</resultMap>
<resultMap id="select-featurecvterm" class="FeatureCvTerm"
extends="select-featurecvterm-no-rank">
<result property="rank" column="rank" />
</resultMap>
<!-- select feature_cvterm -->
<select id="getFeatureCvTermsByFeature" parameterClass="Feature"
resultMap="select-featurecvterm">
SELECT
fc.*,
fcp.type_id, fcp.value, fcp.rank AS fcp_rank,
cvterm.name AS cvterm_name,
cv.name AS cv_name,
pub.pub_id,
pub.uniquename,
db.name,
dbxref.accession
FROM feature_cvterm fc
LEFT JOIN feature_cvtermprop fcp ON fc.feature_cvterm_id=fcp.feature_cvterm_id
LEFT JOIN cvterm ON cvterm.cvterm_id=fc.cvterm_id
LEFT JOIN cv ON cvterm.cv_id=cv.cv_id
LEFT JOIN pub ON fc.pub_id=pub.pub_id
LEFT JOIN dbxref ON cvterm.dbxref_id=dbxref.dbxref_id
LEFT JOIN db ON dbxref.db_id=db.db_id
<dynamic>
<isNotNull property="uniqueName" prepend="WHERE">
feature_id=(SELECT feature_id FROM feature WHERE uniquename=#uniqueName#)
</isNotNull>
</dynamic>
ORDER BY fc.feature_cvterm_id, fc.rank, type_id, fcp.rank;
</select>
<!-- same as getFeatureCvTermsByFeature but without feature_cvterm.rank -->
<select id="getFeatureCvTermsNoRankByFeature" parameterClass="Feature"
resultMap="select-featurecvterm-no-rank">
SELECT
fc.feature_id,
fc.feature_cvterm_id,
fc.cvterm_id,
fc.rank AS fc_rank,
fc.is_not,
fcp.type_id, fcp.value, fcp.rank,
fcp.type_id, fcp.value, fcp.rank AS fcp_rank,
cvterm.name AS cvterm_name,
cv.name AS cv_name,
pub.pub_id,
......@@ -56,9 +89,23 @@
feature_id=(SELECT feature_id FROM feature WHERE uniquename=#uniqueName#)
</isNotNull>
</dynamic>
ORDER BY fc.feature_cvterm_id, fc.rank, type_id, fcp.rank;
ORDER BY fc.feature_cvterm_id, type_id, fcp.rank;
</select>
<select id="getFeatureCvTermColumnsForASchema" parameterClass="java.lang.String"
resultClass="java.lang.String">
SELECT pg_attribute.attname
FROM pg_attribute, pg_class, pg_namespace
WHERE pg_namespace.oid=pg_class.relnamespace AND
attrelid=pg_class.oid AND
relname='feature_cvterm' AND
attnum > 0 AND
nspname=#value#
</select>
<delete id="deleteFeatureCvTerm" parameterClass="FeatureCvTerm">
DELETE FROM feature_cvterm WHERE
feature_cvterm_id=$featureCvTermId$
......
......@@ -11,7 +11,7 @@
<resultMap id="feature_cvtermprop" class="FeatureCvTermProp">
<result property="cvTerm.cvTermId" column="type_id" />
<result property="value" column="value" />
<result property="rank" column="rank" />
<result property="rank" column="fcp_rank" />
</resultMap>
<!-- INSERT -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment