|  | #!/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; |