#!/usr/bin/perl =comment Copyright (c) 2003-2010, Andrew Dunstan See accompanying License file for license details =cut use strict; use DBI; use CGI; my $query = new CGI; use vars qw($dbhost $dbname $dbuser $dbpass $dbport); use FindBin qw($RealBin); require "$RealBin/../BuildFarmWeb.pl"; my $dsn="dbi:Pg:dbname=$dbname"; $dsn .= ";host=$dbhost" if $dbhost; $dsn .= ";port=$dbport" if $dbport; my $dbh = DBI->connect($dsn,$dbuser,$dbpass) or die("$dsn,$dbuser,$dbpass,$!"); my %words; my $sql = q{ select sysname, max(snapshot) as snapshot from build_status_log where branch = 'HEAD' and log_stage = 'typedefs.log' and snapshot > current_date::timestamp - interval '30 days' group by sysname }; my $builds = $dbh->selectall_arrayref($sql, { Slice => {} }); if ($query->param('show_list')) { print "Content-Type: text/html\n\n", "Typedefs URLs\n", "

Typdefs URLs

\n", "\n"; foreach my $build (@$builds) { print "\n"; } print "
member
$build->{sysname}
\n"; exit; } $sql = q{ select log_text from build_status_log where sysname = ? and snapshot = ? and log_stage = 'typedefs.log' and branch = 'HEAD' }; my $sth = $dbh->prepare($sql); foreach my $build (@$builds) { $sth->execute($build->{sysname},$build->{snapshot}); my @row = $sth->fetchrow; my @typedefs = split(/\s+/,$row[0]); @words{@typedefs} = 1 x @typedefs; } print "Content-Type: text/plain\n\n", join("\n",sort keys %words), "\n";