Select predecesor build on same branch - fixes bug reported by Tom Lane.
[buildfarm-server.git] / cgi-bin / show_members.pl
index 58039d558ac3565ce8eff274bfbbf5024aaf79d7..d45acd6145dbf2e745e033697a9eb3a6edf199d3 100755 (executable)
@@ -1,15 +1,20 @@
 #!/usr/bin/perl
 
+=comment
+
+Copyright (c) 2003-2010, Andrew Dunstan
+
+See accompanying License file for license details
+
+=cut 
+
 use strict;
 use CGI;
 use DBI;
 use Template;
 
-
-
 use vars qw($dbhost $dbname $dbuser $dbpass $dbport $template_dir $sort_by);
 
-
 require "$ENV{BFConfDir}/BuildFarmWeb.pl";
 #require "BuildFarmWeb.pl";
 
@@ -26,7 +31,7 @@ my $dsn="dbi:Pg:dbname=$dbname";
 $dsn .= ";host=$dbhost" if $dbhost;
 $dsn .= ";port=$dbport" if $dbport;
 
-my $db = DBI->connect($dsn,$dbuser,$dbpass);
+my $db = DBI->connect($dsn,$dbuser,$dbpass,{pg_expand_array => 0});
 
 # there is possibly some redundancy in this query, but it makes
 # a lot of the processing simpler.
@@ -34,6 +39,7 @@ my $db = DBI->connect($dsn,$dbuser,$dbpass);
 my $statement = q{
 
   select name, operating_system, os_version, compiler, compiler_version, owner_email, 
+    sys_notes_ts::date AS sys_notes_date, sys_notes,
     architecture as arch, ARRAY(
                                select branch || ':' || 
                                       extract(days from now() - l.snapshot)
@@ -60,13 +66,15 @@ while (my $row = $sth->fetchrow_hashref)
     $row->{branches} =~ s/^\{(.*)\}$/$1/;
     my $personalities = $row->{personalities};
     $personalities =~ s/^\{(.*)\}$/$1/;
-    my @personalities = split($personalities,',');
+    my @personalities = split(',',$personalities);
     $row->{personalities} = [];
     foreach my $personality (@personalities)
     {
        $personality =~ s/^"(.*)"$/$1/;
        $personality =~ s/\\(.)/$1/g;
+       
        my ($compiler_version, $os_version, $effective_date) = split(/\t/,$personality);
+       $effective_date =~ s/ .*//;
        push(@{$row->{personalities}}, {compiler_version => $compiler_version, 
                                        os_version => $os_version, 
                                        effective_date => $effective_date });