java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml | 47
+++-------
1 file changed, 17 insertions(+), 30 deletions(-)
New commits:
commit 018ba5f17f4de73abfecee493dd582161f4b0ad2
Author: Tasos Papaioannou <tpapaioa(a)redhat.com>
Date: Thu Oct 31 16:58:40 2013 +0100
1023482 - spped up /rhn/channels/manage/errata/AddRedHatErrata.do page
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index a4a1a07..ccce0a1 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@ -448,36 +448,23 @@ SELECT DISTINCT E.id , E.advisory_name AS advisory,
<mode name="in_sources_for_target_package_assoc"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
<query params="custom_cid, user_id">
- Select DISTINCT Errata1.id , Errata1.advisory_name AS advisory,
- Errata1.update_date AS UPDATE_DATE,
- Errata1.synopsis as ADVISORY_SYNOPSIS,
- Errata1.advisory_type as ADVISORY_TYPE,
- Errata1.advisory_name AS advisory
- from
- ( Select E.*
- FROM rhnErrata E inner join
- rhnChannelErrata CE on CE.errata_id = E.id inner join
- rhnSet S on S.element = CE.channel_id inner join
- rhnErrataPackage EP on EP.errata_id = E.id inner join
- rhnPackage P on p.id = EP.package_id inner join
- rhnPackage P2 on P.name_id = P2.name_id inner join
- rhnChannelPackage CP on P2.id = CP.package_id
- where
- CP.channel_id = :custom_cid
- and S.user_id = :user_id
- and S.label = 'channels_for_errata') Errata1 left join
-
- ( SELECT CE2.errata_id as Id, CE2.channel_id
- from rhnChannelErrata CE2
- where CE2.channel_id = :custom_cid ) Errata2 on Errata1.id = Errata2.id left join
-
- ( select Cloned.original_id as clonedId
- from rhnChannelErrata CE2 inner join
- rhnErrataCloned Cloned on CE2.errata_id = cloned.id
- where CE2.channel_id = :custom_cid
- ) temp on temp.clonedId = Errata1.id
- where channel_id is null
- and temp.clonedId is null
+SELECT DISTINCT E.id, E.advisory_name AS advisory,
+ E.update_date AS UPDATE_DATE,
+ E.synopsis as ADVISORY_SYNOPSIS,
+ E.advisory_type as ADVISORY_TYPE
+ FROM rhnErrata E inner join
+ rhnChannelErrata CE on CE.errata_id = E.id inner join
+ rhnSet S on S.element = CE.channel_id inner join
+ rhnErrataPackage EP on EP.errata_id = E.id inner join
+ rhnPackage P on p.id = EP.package_id inner join
+ rhnPackage P2 on P.name_id = P2.name_id inner join
+ rhnChannelPackage CP on P2.id = CP.package_id
+ WHERE
+ CP.channel_id = :custom_cid
+ and S.user_id = :user_id
+ and S.label = 'channels_for_errata'
+ and E.id not in (select errata_id from rhnChannelErrata where channel_id =
:custom_cid)
+ and E.id not in (select original_id from rhnChannelErrata CE, rhnErrataCloned EC
where CE.errata_id = EC.id and CE.channel_id = :custom_cid);
</query>
</mode>
Show replies by date