--- loncom/lonsql 2001/12/20 17:43:05 1.41 +++ loncom/lonsql 2002/06/17 14:00:09 1.44 @@ -3,7 +3,7 @@ # The LearningOnline Network # lonsql - LON TCP-MySQL-Server Daemon for handling database requests. # -# $Id: lonsql,v 1.41 2001/12/20 17:43:05 harris41 Exp $ +# $Id: lonsql,v 1.44 2002/06/17 14:00:09 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,6 +36,8 @@ # 03/22/2001 Scott Harrison # 8/30 Gerd Kortemeyer # 10/17,11/28,11/29,12/20 Scott Harrison +# YEAR=2001 +# 5/11 Scott Harrison # ### @@ -44,7 +46,7 @@ ## ORGANIZATION OF THIS PERL SCRIPT ## ## 1. Modules used ## ## 2. Enable find subroutine ## -## 3. Read httpd access.conf and get variables ## +## 3. Read httpd config files and get variables ## ## 4. Make sure that database can be accessed ## ## 5. Make sure this process is running from user=www ## ## 6. Check if other instance is running ## @@ -52,6 +54,9 @@ ## ## ############################################################################### +use lib '/home/httpd/lib/perl/'; +use LONCAPA::Configuration; + use IO::Socket; use Symbol; use POSIX; @@ -75,17 +80,10 @@ sub wanted { $childmaxattempts=10; $run =0;#running counter to generate the query-id -# ------------------------------------ Read httpd access.conf and get variables -open (CONFIG,"/etc/httpd/conf/access.conf") || die "Can't read access.conf"; - -while ($configline=) { - if ($configline =~ /PerlSetVar/) { - my ($dummy,$varname,$varvalue)=split(/\s+/,$configline); - chomp($varvalue); - $perlvar{$varname}=$varvalue; - } -} -close(CONFIG); +# -------------------------------- Read loncapa_apache.conf and loncapa.conf +my $perlvarref=LONCAPA::Configuration::read_conf('loncapa_apache.conf', + 'loncapa.conf'); +my %perlvar=%{$perlvarref}; # ------------------------------------- Make sure that database can be accessed { @@ -292,8 +290,13 @@ sub make_new_child { print $client "$queryid\n"; &logthis("QUERY: $query"); - &logthis("QUERY: $query"); sleep 1; + +# ---------- At this point, query is received, query-ID assigned and sent back +# $query eq 'logquery' will mean that this is a query against log-files + + unless ($query eq 'logquery') { +# -------------------------------------------------------- This is an sql query #prepare and execute the query my $sth = $dbh->prepare($query); my $result; @@ -373,8 +376,17 @@ sub make_new_child { $result=join("&",@r2) unless $query; $result.=$customresult; } - # reply with result - $result.="\n" if $result; +# ------------------------------------------------------------ end of sql query + } else { +# ------------------------------------------------------ beginning of log query +# +# do log queries here +# + $result='not_yet_implemented'; +# ------------------------------------------------------------ end of log query + } + # reply with result, append \n unless already there + $result.="\n" unless ($result=~/\n$/); &reply("queryreply:$queryid:$result",$conserver); }