my $hm = $query->param('hm'); $hm =~ s/[^a-zA-Z0-9_ -]//g;
$hm = '240' unless $hm =~ /^\d+$/;
+my $latest_personality = $db->selectrow_arrayref(q{
+ select os_version, compiler_version
+ from personality
+ where name = ?
+ order by effective_date desc limit 1
+ }, undef, $member);
+
# we don't really need to do this join, since we only want
# one row from buildsystems. but it means we only have to run one
# query. If it gets heavy we'll split it up and run two
while (my $row = $sth->fetchrow_hashref)
{
$row->{owner_email} =~ s/\@/ [ a t ] /;
- push(@$statrows,$row);
+ if ($latest_personality)
+ {
+ $row->{os_version} = $latest_personality->[0];
+ $row->{compiler_version} = $latest_personality->[1];
+ }
+ push(@$statrows,$row);
}
+
$sth->finish;
$db->disconnect;
$sth=$db->prepare($statement);
$sth->execute($system);
$info_row=$sth->fetchrow_hashref;
+
+ my $latest_personality = $db->selectrow_arrayref(q{
+ select os_version, compiler_version
+ from personality
+ where effective_date < ?
+ and name = ?
+ order by effective_date desc limit 1
+ }, undef, $logdate, $system);
# $sysinfo = join(" ",@$row);
+ if ($latest_personality)
+ {
+ $info_row->{os_version} = $latest_personality->[0];
+ $info_row->{compiler_version} = $latest_personality->[1];
+ }
$sth->finish;
$db->disconnect;
}
$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 });
[% alt = ! alt %]
<td><input type="checkbox" name="member" value="[% row.name %]" /></td>
<td>[% row.name %]<br />[% row.owner_email %]</td>
- <td>[% row.operating_system %]<br />[% row.os_version %]</td>
- <td>[% row.compiler %]<br />[% row.compiler_version %]</td>
+ <td>[% row.operating_system %]<br />[% row.os_version %]
+ [% FOREACH personality IN row.personalities %]
+ <br / > w.e.f. [% personality.effective_date %]: [% personality.os_version %]
+ [% END %]
+ </td>
+ <td>[% row.compiler %]<br />[% row.compiler_version %]
+ [% FOREACH personality IN row.personalities %]
+ <br / > w.e.f. [% personality.effective_date %]: [% personality.compiler_version %]
+ [% END %]
+ </td>
<td>[% row.arch %]</td>
<td class="branch">[% IF ! row.branches ; ' ' ; END -%]
<ul>