12 my $sth=$dbh->prepare("select id,term,type,servers from z3950queue where
13 isnull(done) || done=-1");
15 while (my ($id, $term, $type, $servers) = $sth->fetchrow) {
17 my $sti=$dbh->prepare("update z3950queue set done=-1,startdate=$now where id=$id");
20 if ($type eq 'isbn') {
22 } elsif ($type eq 'title') {
24 } elsif ($type eq 'lccn') {
28 $query="f \@attr $attr $term";
31 foreach $serverinfo (split(/\s+/, $servers)) {
32 my ($name, $server, $database, $auth) = split(/\//, $serverinfo, 4);
33 ($auth eq '/') && ($auth='');
34 print "Processing $type=$term at $name $server $database $auth\n";
36 my $q_serverinfo=$dbh->quote($serverinfo);
37 my $sti=$dbh->prepare("insert into z3950results (server, queryid, startdate) values ($q_serverinfo, $id, $now)");
39 my $resultsid=$dbh->{'mysql_insertid'};
40 getrecord($server, $database, $query, $auth);
41 my $result=`cat yaz.mrc`;
43 my $splitchar=chr(29);
44 my @records=split(/$splitchar/, $result);
45 my $numrecords=$#records+1;
46 $totalrecords+=$numrecords;
47 my $q_result=$dbh->quote($result);
48 ($q_result) || ($q_result='""');
50 $sti=$dbh->prepare("update z3950results set numrecords=$numrecords,results=$q_result,enddate=$now where id=$resultsid");
53 $sti=$dbh->prepare("update z3950queue set done=1,numrecords=$totalrecords,enddate=$now where id=$id");
64 open (M, "|yaz-client -m yaz.mrc >>yaz.out 2>>yaz.err");
68 ($auth) && ($auth="authentication $auth\n");