diff options
author | unknown <serg@serg.mylan> | 2003-10-21 23:44:26 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2003-10-21 23:44:26 +0200 |
commit | 91c57e7ce8d755d6310c50d3dbf7d908825bfda8 (patch) | |
tree | df373ff849bbe1b014a196418c570bbd5e0341ee | |
parent | 2ca99a35f75a060ab5344dd39343de0f249c62bc (diff) | |
download | mariadb-git-91c57e7ce8d755d6310c50d3dbf7d908825bfda8.tar.gz |
ftbench fixes
-rwxr-xr-x | myisam/ftbench/Ereport.pl | 6 | ||||
-rw-r--r-- | myisam/ftbench/README | 56 | ||||
-rwxr-xr-x | myisam/ftbench/ft-test-run.sh | 12 |
3 files changed, 65 insertions, 9 deletions
diff --git a/myisam/ftbench/Ereport.pl b/myisam/ftbench/Ereport.pl index aac06503849..761c707fcda 100755 --- a/myisam/ftbench/Ereport.pl +++ b/myisam/ftbench/Ereport.pl @@ -41,11 +41,7 @@ sub Favg { my $a=shift; $Pavg*$Ravg ? 1/($a/$Pavg+(1-$a)/$Ravg) : 0; } $Ravg/=$B*$A if $B; $Pavg/=$B if $B; - write; -format= -@##### @#.####### -$qid, Favg(0.5) -. + printf "%5d %1.12f\n", $qid, Favg(0.5); } exit 0; diff --git a/myisam/ftbench/README b/myisam/ftbench/README new file mode 100644 index 00000000000..649d06d86bb --- /dev/null +++ b/myisam/ftbench/README @@ -0,0 +1,56 @@ +1. should be run from myisam/ftbench/ +2. myisam/ftdefs.h should NOT be locked (bk get, not bk edit!) +3. there should be ./data/ subdir with test collections, files: + test1.test + test1.relj + test2.test + test2.relj + where test1, test2, etc - are arbitrary test names + + *.test are SQL files of the structure: +===== +DROP TABLE IF EXISTS ft; +CREATE TABLE ft ( + id int(10) unsigned NOT NULL, + text text NOT NULL, + FULLTEXT KEY text (text) +); + +INSERT INTO ft VALUES (1, 'doc1...'),(2, 'doc2...'),... +... + +SELECT COUNT(*) FROM ft; +SELECT 1, id, MATCH text AGAINST ('query1') FROM ft WHERE MATCH text AGAINST ('query1'); +SELECT 2, id, MATCH text AGAINST ('query2') FROM ft WHERE MATCH text AGAINST ('query2'); +... +===== + + *.relj files have the structure: + 1 16 .....blablabla + 1 09 .....blablabla + 2 116 .....blablabla + ... + + that is /^\d+\s+\d+/ + and are sorted by the first number (not necessarily by the second) + +4. there should be ./t/ subdir with test directories + + ./t + ./t/BEST/ + ./t/testdir1/ + ./t/testdir2/ + ... + + there *must* be ./t/BEST/ subdir or a symlink to one of other dirs in ./t + all other names (besides BEST) can be arbitrary + + all test results are compared with BEST results. + + test directories *must* contain ftdefs.h, and *may* contain my.cnf + NOTE: all *.out files in test directories will NOT be overwritten! + delete them to re-test + +5. run ./ft-test-run.sh +6. go make some coffee + diff --git a/myisam/ftbench/ft-test-run.sh b/myisam/ftbench/ft-test-run.sh index 4c81cac6d4f..2c04d24a185 100755 --- a/myisam/ftbench/ft-test-run.sh +++ b/myisam/ftbench/ft-test-run.sh @@ -1,4 +1,4 @@ -#!/bin/sh -x +#!/bin/sh if [ ! -x ./ft-test-run.sh ] ; then echo "Usage: ./ft-test-run.sh" @@ -46,7 +46,7 @@ for batch in t/BEST t/* ; do touch $H OPTS="--defaults-file=$BASE/$batch/my.cnf --socket=$SOCK --character-sets-dir=$ROOT/sql/share/charsets" stop_myslqd - rm $MYSQLD + rm -f $MYSQLD (cd $ROOT; gmake) for prog in $MYSQLD $MYSQL $MYSQLADMIN ; do @@ -65,17 +65,21 @@ for batch in t/BEST t/* ; do --skip-grant-tables --skip-innodb \ --skip-networking --tmpdir=$DATA & - $MYSQLADMIN $OPTS --connect_timeout=60 ping + sleep 60 + $MYSQLADMIN $OPTS ping if [ $? != 0 ] ; then echo "$MYSQLD refused to start" exit 1 fi - for test in `cd data; echo *.test|sed "s/\.test\>//g"` ; do + for test in `cd data; echo *.test|sed "s/\.test//g"` ; do + echo "test $batch/$test" $MYSQL $OPTS --skip-column-names test <data/$test.test >var/$test.eval + echo "report $batch/$test" ./Ereport.pl var/$test.eval data/$test.relj > $batch/$test.out || exit done stop_myslqd rm -f $H + echo "compare $batch" [ $batch -ef t/BEST ] || ./Ecompare.pl t/BEST $batch >> t/BEST/report.txt done |