--- db/prgsrc/dbchgk.pm 2002/01/13 00:32:12 1.9 +++ db/prgsrc/dbchgk.pm 2008/02/08 22:49:12 1.12 @@ -26,13 +26,14 @@ use vars qw(@ISA @EXPORT); @EXPORT = qw(&getbase &getquestions &closebase &getrow $z &in2out &getall &addnf &out2in &mydo &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 &addauthors) ; my $z; my $qbase; BEGIN {do "chgk.cnf"; $qbase = DBI -> connect ("DBI:mysql:$base",'piataev',undef); + $qbase->do("SET NAMES koi8r"); }; @@ -151,6 +152,15 @@ die "packword: fieldnumber is $fieldnumb $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 { my ($n,$addstring,$was)=@_; @@ -325,7 +335,7 @@ sub checktable # ΕΣΜΙ $param='delete' ΥΔ { my ($TabName,$param) = @_; my ($ans); - if (scalar(grep(/^$TabName$/i, &tablelist))) { + if (scalar(grep(/\`$TabName$\`/i, &tablelist))) { return 1 unless $param; if ($param =~ /delete/) {$ans='y';} else { @@ -350,7 +360,7 @@ sub checktable # ΕΣΜΙ $param='delete' ΥΔ sub tablelist { - $qbase->func( '_ListTables' ); + return $qbase->func('_ListTables'); } sub in2out