add head ref to daskboard, requested by Stepehen Frost.
[buildfarm-server.git] / cgi-bin / show_log.pl
index 75dd2e7c2dcfb4e6bb0243053b29d38ccb49e809..7fea634bad0a3aef839a78217ce58c53aaf6a10f 100755 (executable)
@@ -58,16 +58,20 @@ if ($system && $logdate)
 
        };
        my $last_build_statement = q{
-               select distinct on (sysname) sysname, snapshot, stage, git_head_ref 
-        from build_status 
-        where sysname = ? and branch = ? and snapshot < ? 
-        order by sysname, snapshot desc limit 1
+               select git_head_ref 
+                from build_status 
+                where sysname = ? and branch = ?  and snapshot =
+                    (select max(snapshot)
+                    from build_status
+                    where sysname = ? and branch = ? and snapshot < ?)
        };
        my $last_success_statement = q{
-               select distinct on (sysname) sysname, snapshot, git_head_ref 
-        from build_status 
-        where sysname = ? and branch = ? and snapshot < ? and stage = 'OK' 
-        order by sysname, snapshot desc limit 1
+               select git_head_ref 
+                from build_status 
+                where sysname = ? and branch = ?  and snapshot =
+                    (select max(snapshot)
+                    from build_status
+                    where sysname = ? and branch = ? and snapshot < ? and stage = 'OK')
        };
        my $sth=$db->prepare($statement);
        $sth->execute($system,$logdate);
@@ -80,7 +84,7 @@ if ($system && $logdate)
        {
                $last_build_row = 
                  $db->selectrow_hashref($last_build_statement,undef,
-                                                                $system,$branch,$logdate);
+                                                                $system, $branch,$system,$branch,$logdate);
                $last_build_git_ref = $last_build_row->{git_head_ref}
                  if $last_build_row;
                
@@ -90,7 +94,7 @@ if ($system && $logdate)
        {
                $last_success_row =
                  $db->selectrow_hashref($last_success_statement,undef,
-                                                                $system,$branch,$logdate);
+                                                                $system,$branch,$system,$branch,$logdate);
                $last_success_git_ref = $last_success_row->{git_head_ref}
                  if $last_success_row;
        }
@@ -103,6 +107,9 @@ if ($system && $logdate)
        $scm = $row->[7];
        $scm ||= 'cvs'; # legacy scripts
        $scmurl = $row->[8];
+       $scmurl = undef unless $scmurl =~ /^http/; # slight sanity check
+       $scmurl = 'http://git.postgresql.org/gitweb?p=postgresql.git;a=commit;h=' 
+           if ($scmurl eq 'http://git.postgresql.org/git/postgresql.git');
        $log_file_names =~ s/^\{(.*)\}$/$1/;
        @log_file_names=split(',',$log_file_names)
            if $log_file_names;