java/code/src/com/redhat/rhn/common/db/datasource/xml/Set_queries.xml | 20 +++-------
1 file changed, 7 insertions(+), 13 deletions(-)
New commits:
commit 914db78b3a4f2a805e16914f62660bb7438ec11b
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Nov 17 16:56:14 2009 -0500
512844 - fixing inefficient query in package set clenaup
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Set_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Set_queries.xml
index e5b88d4..b0f3844 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Set_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Set_queries.xml
@@ -239,26 +239,20 @@ DELETE
DELETE
FROM rhnSet
WHERE rowid IN(SELECT s.rowid
- FROM rhnSet S, web_contact WC
+ FROM rhnSet S, web_contact WC, rhnPackage P
WHERE S.user_id = :user_id
AND S.user_id = WC.id
AND S.label = :label
- AND NOT EXISTS(SELECT 1
- FROM dual
- WHERE EXISTS (SELECT 1
- FROM rhnPackage P
- WHERE P.id = S.element
- AND P.org_id = WC.org_id
- )
- OR EXISTS (SELECT 1
+ AND S.element = P.id
+ AND (P.org_id != WC.org_id
+ AND P.id NOT IN (SELECT CP.package_id
FROM rhnChannelPackage CP,
rhnAvailableChannels AC
WHERE AC.org_id = wc.org_id
AND AC.channel_id = CP.channel_id
- AND CP.package_id = S.element
- )
- )
- )
+ ))
+ )
+
</query>
</write-mode>
Show replies by date