Diff for /db/prgsrc/dbchgk.pm between versions 1.7 and 1.12

version 1.7, 2001/11/20 21:33:36 version 1.12, 2008/02/08 22:49:12
Line 25  use vars qw(@ISA @EXPORT); Line 25  use vars qw(@ISA @EXPORT);
 @ISA=qw(Exporter);  @ISA=qw(Exporter);
   
 @EXPORT = qw(&getbase &getquestions &closebase &getrow $z &in2out &getall &addnf &out2in &mydo  @EXPORT = qw(&getbase &getquestions &closebase &getrow $z &in2out &getall &addnf &out2in &mydo
              &getequalto &forbidden &getquestion &checktable &addword2task &addnest &getwordkeys &getflag &addword2task &cformula               &getequalto &forbidden &getquestion &checktable &addword2task &addnest &getwordkeys &getflag &addword2task 
              &updateword2question &knownword &incnf &searchmark &knownnf &getnests                &updateword2question &updatew2q &knownword &incnf &searchmark &knownnf &getnests 
              &packword &getnfnumbers &getword2question) ;               &packword &getnfnumbers &getword2question &addauthors) ;
   
 my $z;  my $z;
 my $qbase;  my $qbase;
 BEGIN {do "chgk.cnf";     BEGIN {do "chgk.cnf";   
           $qbase = DBI -> connect ("DBI:mysql:$base",'piataev',undef);            $qbase = DBI -> connect ("DBI:mysql:$base",'piataev',undef);
             $qbase->do("SET NAMES koi8r");
       };        };
   
   
Line 113  sub addword2task Line 114  sub addword2task
   $qbase -> do("insert into word2question (word,questions) values ($w1,$w2)");    $qbase -> do("insert into word2question (word,questions) values ($w1,$w2)");
 }  }
   
   sub addauthors
   {
     my ($charid,$name,$surname,$questions,$nicks,$forbidden)=@_;
     $_=$qbase -> 
         quote($_)  foreach ($charid,$name,$surname,$nicks);
     my $kvo=scalar grep {!$$forbidden{$_}} @$questions;
   my $query="insert into Authors (CharId,name,surname,QNumber,Nicks) 
                   values ($charid,$name,$surname,".$kvo.",$nicks)";
   
    print $query if $debug;
   
     $qbase -> do($query);
    $query="select id from Authors where CharId=$charid";
    print $query if $debug;
     my $z= $qbase -> prepare($query);
     $z -> execute;
     my @ar=$z->fetchrow;
     my $id=$ar[0];
   
   
   
   foreach my $q (@{$questions})
   {
     $query="insert into A2Q (Author,Question) 
                   values ($id,$q)";
    print $query if $debug;
     $qbase -> do($query) ;
   }
   }
   
   
 sub packword  sub packword
 {  {
   my ($fieldnumber,$id,$wordnumber)=@_;    my ($fieldnumber,$id,$wordnumber)=@_;
 die "packword: fieldnumber is $fieldnumber! -- id=$id, word=$wordnumber\n" if $fieldnumber>6;  die "packword: fieldnumber is $fieldnumber! -- id=$id, word=$wordnumber\n" if $fieldnumber>6;
   pack("CSC",$fieldnumber,$id,$wordnumber%256)    $r=pack("CSC",$fieldnumber|(($id >> 16) << 4),$id%65536,$wordnumber%256);
   }
   
   
   sub updatew2q {
     my ($n,$fieldnumber, $id,$wordnumber)=@_;
     my ($z,@a); 
     $query="replace into w2q (wordId,questionId,fieldNumber,wordNumber) values ($n,$id,$fieldnumber,$wordnumber)";
     print "$query\n" if $debug;
     $qbase->do($query);
 }  }
   
 sub updateword2question  sub updateword2question
Line 294  sub checktable # ΕΣΜΙ $param='delete' ΥΔ Line 335  sub checktable # ΕΣΜΙ $param='delete' ΥΔ
 {  {
         my ($TabName,$param) = @_;          my ($TabName,$param) = @_;
         my ($ans);          my ($ans);
         if (scalar(grep(/^$TabName$/i, &tablelist))) {          if (scalar(grep(/\`$TabName$\`/i, &tablelist))) {
                 return 1 unless $param;                  return 1 unless $param;
                 if ($param =~ /delete/) {$ans='y';}                  if ($param =~ /delete/) {$ans='y';}
                    else {                     else {
Line 319  sub checktable # ΕΣΜΙ $param='delete' ΥΔ Line 360  sub checktable # ΕΣΜΙ $param='delete' ΥΔ
   
 sub tablelist  sub tablelist
 {  {
      $qbase->func( '_ListTables' );      return $qbase->func('_ListTables');
 }  }
   
 sub in2out  sub in2out

Removed from v.1.7  
changed lines
  Added in v.1.12


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