Diff for /loncom/lonsql between versions 1.2 and 1.3

version 1.2, 2000/06/26 02:42:42 version 1.3, 2000/07/02 04:01:56
Line 168  sub make_new_child { Line 168  sub make_new_child {
         #open database handle          #open database handle
  # making dbh global to avoid garbage collector   # making dbh global to avoid garbage collector
  unless (   unless (
  $dbh = DBI->connect("DBI:mysql:loncapa","www","newmysql",{ RaiseError =>1,})   $dbh = DBI->connect("DBI:mysql:loncapa","www","newmysql",{ RaiseError =>0,PrintError=>0})
  ) {    ) { 
             my $st=120+int(rand(240));              my $st=120+int(rand(240));
     &logthis("<font color=blue>WARNING: Couldn't connect to database  ($st secs): $@</font>");      &logthis("<font color=blue>WARNING: Couldn't connect to database  ($st secs): $@</font>");
Line 189  sub make_new_child { Line 189  sub make_new_child {
     my $userinput = <$client>;      my $userinput = <$client>;
     chomp($userinput);      chomp($userinput);
                   
     my ($conserver,$query)=split(/&/,$userinput);      my ($conserver,$querytmp)=split(/&/,$userinput);
       my $query=unescape($querytmp);
   
             #send query id which is pid_unixdatetime_runningcounter              #send query id which is pid_unixdatetime_runningcounter
     $queryid = $thisserver;      $queryid = $thisserver;
Line 199  sub make_new_child { Line 200  sub make_new_child {
     print $client "$queryid\n";      print $client "$queryid\n";
           
             #prepare and execute the query              #prepare and execute the query
 #    my $sth = $dbh->prepare($query);      my $sth = $dbh->prepare($query);
 #    unless ($sth->execute())      my $result;
 #    {      unless ($sth->execute())
 # &logthis(      {
 # "<font color=blue>WARNING: Could not retrieve from database: $@</font>"   &logthis("<font color=blue>WARNING: Could not retrieve from database: $@</font>");
 #                );   $result="";
 #    }      }
 #            my $result=$sth->fetch(???);      else {
     $result="123";   my $r1=$sth->fetchall_arrayref;
    my @r2; map {my $a=$_; my @b=map {escape($_)} @$a; push @r2,join(",", @b)} (@$r1);
    $result=join("&",@r2) . "\n";
       }
             &reply("queryreply:$queryid:$result",$conserver);              &reply("queryreply:$queryid:$result",$conserver);
   
         }          }
Line 262  sub reply { Line 266  sub reply {
   return $answer;    return $answer;
 }  }
   
   # -------------------------------------------------------- Escape Special Chars
   
   sub escape {
       my $str=shift;
       $str =~ s/(\W)/"%".unpack('H2',$1)/eg;
       return $str;
   }
   
   # ----------------------------------------------------- Un-Escape Special Chars
   
   sub unescape {
       my $str=shift;
       $str =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
       return $str;
   }

Removed from v.1.2  
changed lines
  Added in v.1.3


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