use materialised view in soap query
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 8 Aug 2010 23:29:06 +0000 (23:29 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 8 Aug 2010 23:29:06 +0000 (23:29 +0000)
cgi-bin/show_status_soap.pl

index e51db5960fabe5ce14da40a68a9799084c7e8040..5d12800beec2440501b1ce7074314fbc290dfc0f 100755 (executable)
@@ -38,32 +38,8 @@ sub get_status
     my $statement =<<EOS;
 
 
-    select (now() at time zone 'GMT')::timestamp(0) - snapshot as when_ago,
-       sysname, snapshot, b.status, stage, branch, build_flags,
-       operating_system, coalesce(b.os_version,s.os_version) as os_version,
-       compiler, 
-        coalesce(b.compiler_version, s.compiler_version) as compiler_version, 
-       architecture 
-    from buildsystems s, 
-        (
-       select distinct on (bs.sysname, bs.branch, bs.report_time) 
-               sysname, snapshot, status, stage, branch, build_flags,
-               report_time ,compiler_version, os_version
-        from build_status bs
-             left join 
-             personality p
-             on (p.name = bs.sysname and p.effective_date <= bs.report_time)
-        order by bs.sysname, bs.branch, bs.report_time, 
-                 p.effective_date is null, p.effective_date desc
-        ) as b
-       natural join 
-               (select sysname, branch, max(snapshot) as snapshot
-        from build_status
-        group by sysname, branch
-       having max(snapshot) > now() - '30 days'::interval
-               ) m
-    where name = sysname
-        and s.status = 'approved'
+    select (now() at time zone 'GMT')::timestamp(0) - snapshot as when_ago, dsh.*
+    from dashboard_mat dsh
     order by branch = 'HEAD' desc, 
         branch desc, 
         snapshot desc