Subversion Repositories DevTools

Rev

Rev 6612 | Blame | Compare with Previous | Last modification | View Log | RSS feed

SELECT *
  FROM (
        /* Hidden Views */
        SELECT 0 AS show, 
               vi.view_id, 
               vi.view_name, 
               usr.full_name AS owner_name, 
               usr.user_email AS owner_email,
               vi.base_view, 
               Count(vd.pkg_id) AS pkg_count, 
               vi.owner_id
          FROM views vi, view_def vd, users usr
         WHERE (vi.owner_id = 0 OR vi.public_read='Y') 
           AND usr.user_id = vi.owner_id
           AND vi.base_view != 'Y'
           AND vi.view_id = vd.view_id(+) 
           AND vi.view_id NOT IN (SELECT vis.view_id FROM view_settings vis WHERE vis.user_id = $USER_ID$ )
          GROUP BY vi.view_id, vi.view_name, usr.full_name, usr.user_email, vi.base_view, vi.owner_id
        UNION
        /* Shown Views */
        SELECT 1 AS show, 
               vi.view_id, 
               vi.view_name, 
               usr.full_name AS owner_name, 
               usr.user_email AS owner_email,
               vi.base_view, 
               Count(vd.pkg_id) AS pkg_count, 
               vi.owner_id
          FROM views vi, view_settings vis, view_def vd, users usr
         WHERE vi.view_id = vis.view_id
               AND usr.user_id = vi.owner_id 
               AND vi.view_id = vd.view_id(+) 
               AND vis.user_id = $USER_ID$
               AND vi.public_read = 'Y'
               AND vi.base_view != 'Y'
         GROUP BY vi.view_id, vi.view_name, usr.full_name, usr.user_email, vi.base_view, vi.owner_id
        UNION
        /* Base Views */
        SELECT NVL2(vis.view_id, 1,  0) AS show, 
               vi.view_id, 
               vi.view_name, 
               '' AS owner_name, 
               '' AS owner_email,
               vi.base_view, 
               Count(pv.pkg_id) AS pkg_count, 
               0 as owner_id
          FROM views vi, release_content rc , 
                    package_versions pv , 
                     view_settings vis
         WHERE  vi.base_view = 'Y'
               AND rc.base_view_id(+) = vi.view_id
               AND rc.pv_id = pv.pv_id(+)
               AND vi.view_id = vis.view_id(+)
               AND vis.user_id(+) = $USER_ID$
         GROUP BY vis.view_id, vi.view_id, vi.view_name, vi.base_view  
       ) pview
 ORDER BY UPPER(pview.view_name) ASC