| #!/usr/bin/perl | 
 | #take the output of parseNLT.pl and load it into a database | 
 | # use like: cat file |perl parseNLT.pl |perl importNLT.pl password | 
 |  | 
 | use DBI; | 
 |  | 
 | # database information | 
 | $db="llvmalpha"; | 
 | $host="localhost"; | 
 | $userid="llvmdbuser"; | 
 | $passwd=shift @ARGV; | 
 | $connectionInfo="dbi:mysql:$db;$host"; | 
 |  | 
 | # make connection to database | 
 | $dbh = DBI->connect($connectionInfo,$userid,$passwd) or die DBI->errstr; | 
 | my $sth = $dbh->prepare( q{ | 
 |       INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES (?, STR_TO_DATE(?, '\%d \%M \%Y'), ?, ?) | 
 |   }) || die "Can't prepare statement: $DBI::errstr";; | 
 |  | 
 | while($d = <>) | 
 | { | 
 |   chomp $d; | 
 |   if (18 == scalar split " ", $d) | 
 |     { | 
 |       ($day, $mon, $year, $prog, $gccas, $bc, $llccompile, $llcbetacompile, $jitcompile, | 
 |        $mc, $gcc, $cbe, $llc, $llcbeta, $jit, $foo1, $foo2, $foo3) = split " ", $d; | 
 |       if ($gccas =~ /\d+/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'gccas', $gccas)") || die DBI->errstr; | 
 |         } | 
 |       if ($bc =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'bytecode', $bc)") || die DBI->errstr; | 
 |         } | 
 |       if ($llccompile =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc-compile', $llccompile)") || die DBI->errstr; | 
 |         } | 
 |       if ($llcbetacompile =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc-beta-compile', $llcbetacompile)") || die DBI->errstr; | 
 |         } | 
 |       if ($jitcompile =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'jit-compile', $jitcompile)") || die DBI->errstr; | 
 |         } | 
 |       if ($mc =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'machine-code', $mc)") || die DBI->errstr; | 
 |         } | 
 |       if ($gcc =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'gcc', $gcc)") || die DBI->errstr; | 
 |         } | 
 |       if ($llc =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc', $llc)") || die DBI->errstr; | 
 |         } | 
 |       if ($llcbeta =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'llc-beta', $llcbeta)") || die DBI->errstr; | 
 |         } | 
 |       if ($jit =~ /\d/) | 
 |         { | 
 |           $dbh->do("INSERT INTO Tests (NAME, RUN, TEST, VALUE) VALUES | 
 |                 ('$prog', STR_TO_DATE('$day $mon $year', '\%d \%M \%Y'), 'jit', $jit)") || die DBI->errstr; | 
 |         } | 
 |       print "."; | 
 |     } | 
 |   else | 
 |     { | 
 |       print "\nNO: $d\n"; | 
 |     } | 
 | } | 
 | print "\n"; | 
 | # disconnect from database | 
 | $dbh->disconnect; |