Index: /trunk/Trac/trac/web/session.py
===================================================================
--- /trunk/Trac/trac/web/session.py (revision 176)
+++ /trunk/Trac/trac/web/session.py (revision 446)
@@ -201,11 +201,9 @@
             mintime = now - PURGE_AGE
             self.env.log.debug('Purging old, expired, sessions.')
-            cursor.execute("DELETE FROM session_attribute "
-                           "WHERE authenticated=0 AND sid "
-                           "IN (SELECT sid FROM session WHERE "
-                           "authenticated=0 AND last_visit < %s)",
-                           (mintime,))
-            cursor.execute("DELETE FROM session WHERE "
-                           "authenticated=0 AND last_visit < %s",
-                           (mintime,))
+            cursor.execute("DELETE session_attribute, session FROM "
+                           "session_attribute, session "
+                           "WHERE session_attribute.authenticated=0 "
+                           "AND session_attribute.sid=session.sid "
+                           "AND session.authenticated=0 "
+                           "AND session.last_visit < %s", (mintime,))
         db.commit()

