Diff for /loncom/lonsql between versions 1.71.2.2 and 1.72

version 1.71.2.2, 2006/03/27 19:51:42 version 1.72, 2006/02/07 22:30:31
Line 260  if (-e $pidfile) { Line 260  if (-e $pidfile) {
 # Read hosts file  # Read hosts file
 #  #
 my $thisserver;  my $thisserver;
   my %hostname;
 my $PREFORK=4; # number of children to maintain, at least four spare  my $PREFORK=4; # number of children to maintain, at least four spare
 open (CONFIG,"$perlvar{'lonTabDir'}/hosts.tab") || die "Can't read host file";  open (CONFIG,"$perlvar{'lonTabDir'}/hosts.tab") || die "Can't read host file";
 while (my $configline=<CONFIG>) {  while (my $configline=<CONFIG>) {
     my ($id,$domain,$role,$name)=split(/:/,$configline);      my ($id,$domain,$role,$name)=split(/:/,$configline);
     $name=~s/\s//g;      $name=~s/\s//g;
     $thisserver=$name if ($id eq $perlvar{'lonHostID'});      $thisserver=$name if ($id eq $perlvar{'lonHostID'});
       $hostname{$id}=$name;
     #$PREFORK++;      #$PREFORK++;
 }  }
 close(CONFIG);  close(CONFIG);
Line 386  sub make_new_child { Line 388  sub make_new_child {
     $run = $run+1;      $run = $run+1;
     my $userinput = <$client>;      my $userinput = <$client>;
     chomp($userinput);      chomp($userinput);
             $userinput=~s/\:(\w+)$//;  
             my $searchdomain=$1;  
             #              #
     my ($conserver,$query,      my ($conserver,$query,
  $arg1,$arg2,$arg3)=split(/&/,$userinput);   $arg1,$arg2,$arg3)=split(/&/,$userinput);
Line 442  sub make_new_child { Line 442  sub make_new_child {
                     $locresult = &localenroll::fetch_enrollment($dom,\%affiliates,\%replies);                      $locresult = &localenroll::fetch_enrollment($dom,\%affiliates,\%replies);
                 } elsif ($query eq 'institutionalphotos') {                  } elsif ($query eq 'institutionalphotos') {
                     my $crs = &unescape($arg2);                      my $crs = &unescape($arg2);
     eval {                      $locresult = &localenroll::institutional_photos($dom,$crs,\%affiliates,\%replies,'update');
  local($SIG{__DIE__})='DEFAULT';  
  $locresult = &localenroll::institutional_photos($dom,$crs,\%affiliates,\%replies,'update');  
     };  
     if ($@) {  
  $locresult = 'error';  
     }  
                 }                  }
                 $result = &escape($locresult.':');                  $result = &escape($locresult.':');
                 if ($locresult) {                  if ($locresult) {
Line 470  sub make_new_child { Line 464  sub make_new_child {
                 }                  }
             } else {              } else {
                 # Do an sql query                  # Do an sql query
                 $result = &do_sql_query($query,$arg1,$arg2,$searchdomain);                  $result = &do_sql_query($query,$arg1,$arg2);
             }              }
             # result does not need to be escaped because it has already been              # result does not need to be escaped because it has already been
             # escaped.              # escaped.
Line 521  sub process_file { Line 515  sub process_file {
 }  }
   
 sub do_sql_query {  sub do_sql_query {
     my ($query,$custom,$customshow,$searchdomain) = @_;      my ($query,$custom,$customshow) = @_;
   #    &logthis('doing query '.$query);
 #  
 # limit to searchdomain if given and table is metadata  
 #  
     if (($searchdomain) && ($query=~/FROM metadata/)) {  
  $query.=' HAVING (domain="'.$searchdomain.'")';  
     }  
 #    &logthis('doing query ('.$searchdomain.')'.$query);  
   
   
   
     $custom     = &unescape($custom);      $custom     = &unescape($custom);
     $customshow = &unescape($customshow);      $customshow = &unescape($customshow);
     #      #
Line 676  Returns: The results of the message or ' Line 660  Returns: The results of the message or '
 ########################################################  ########################################################
 sub subreply {  sub subreply {
     my ($cmd,$server)=@_;      my ($cmd,$server)=@_;
     my $peerfile="$perlvar{'lonSockDir'}/$server";      my $peerfile="$perlvar{'lonSockDir'}/".$hostname{$server};
     my $sclient=IO::Socket::UNIX->new(Peer    =>"$peerfile",      my $sclient=IO::Socket::UNIX->new(Peer    =>"$peerfile",
                                       Type    => SOCK_STREAM,                                        Type    => SOCK_STREAM,
                                       Timeout => 10)                                        Timeout => 10)
        or return "con_lost";         or return "con_lost";
     print $sclient "$cmd\n";      print $sclient "sethost:$server:$cmd\n";
     my $answer=<$sclient>;      my $answer=<$sclient>;
     chomp($answer);      chomp($answer);
     $answer="con_lost" if (!$answer);      $answer="con_lost" if (!$answer);

Removed from v.1.71.2.2  
changed lines
  Added in v.1.72


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>