Annotation of db/prgsrc/mkRS.pl, revision 1.7

1.2       boris       1: #!/usr/bin/perl -w
                      2: 
                      3: =head1 NAME
                      4: 
                      5: mkRS.pl - Скрипт для создания таблиц для русского поиска 
                      6: 
                      7: B<$base> информации о вопросах 
                      8: 
                      9: =head1 SYNOPSIS
                     10: 
                     11: mkRS.pl Создаёт таблицы word2question, nf, nests (предварительно 
                     12:         без предупреждения удаляя их) и очищает ProcessedBySearch.
                     13: 
                     14: 
                     15: 
                     16: =head1 DESCRIPTION
                     17: 
                     18: Скрипт ищет в таблице Questions вопросы с нулевым ProcessedBySearch,
                     19: добавляет информацию в таблицы word2question, nests, nf. Поле 
                     20: ProcessedBySearch устанавливается в 1. Обрабатывает 
                     21: Questions_per_cicle*cicles_number вопросов, сбрасывая 
                     22: информацию в базу каждые Questions_per_cicle вопросов.
                     23: Значения по умолчанию:
                     24: Questions_per_cicle=500;
                     25: cicles_number=1.
                     26: 
                     27: 
                     28: =head1 AUTHOR
                     29: 
                     30: Роман Семизаров
                     31: 
                     32: 
                     33: =cut
                     34: 
1.5       boris      35: 
1.2       boris      36: use locale;
                     37: use DBI;
                     38: use POSIX qw (locale_h);
1.3       boris      39: use lib "../lib";
1.2       boris      40: use chgkfiles;
                     41: use dbchgk;
                     42: my $minstop=2000;
1.5       boris      43: 
                     44: my $DUMPDIR = $ENV{DUMPDIR} || "../dump";
                     45: 
                     46: open (STDERR,">$DUMPDIR/errors");
1.4       boris      47: do "common.pl";
                     48: do "chgk.cnf";
1.5       boris      49: 
1.2       boris      50: 
                     51: die "Undefined \$maxwsize! check your chgk.cnf" unless $maxwsize;
                     52: 
                     53: checktable('word2question','delete');
                     54: 
                     55: checktable('nests','delete');
                     56: 
                     57: checktable('nf','delete');
                     58: 
                     59: 
                     60: print "Creating word2question table...\n";
                     61: 
                     62:        mydo("CREATE TABLE word2question (
                     63:                id     INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     64:                             KEY idkey (id),
                     65:                word   INT UNSIGNED NOT NULL, 
                     66:                             KEY wordkey (word),
1.7     ! boris      67:                questions  MEDIUMBLOB
        !            68:                ) type MyISAM"
1.2       boris      69:             )
                     70: 
                     71:        or die "Can't create WORD2QUESTION table: $!\n";
                     72: 
                     73: print "Creating nests table...\n";
                     74: 
                     75:        mydo("CREATE TABLE nests (
                     76:                id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     77:                             KEY idkey (id),
                     78:                w1   CHAR($maxwsize) BINARY NOT NULL, 
                     79:                             KEY w1key (w1),
                     80:                w2   INT UNSIGNED NOT NULL,
                     81:                             KEY w2key (w2)             
1.7     ! boris      82:        ) type MyISAM")
1.2       boris      83: 
                     84:        or die "Can't create NESTS table: $!\n";
                     85: 
                     86: 
                     87: 
                     88: 
                     89: print "Creating nf table...\n";
                     90: 
                     91: 
                     92: mydo("CREATE TABLE nf (
                     93:                id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     94:                     KEY idkey (id),
                     95:                word CHAR(30) BINARY NOT NULL, 
                     96:                             KEY wordkey (word),
                     97:                flag  CHAR(5),
                     98:                number INT UNSIGNED
1.7     ! boris      99:   ) type MyISAM") or die "Can't create NF table: $!\n";
1.2       boris     100: 
                    101: 
                    102: mydo("UPDATE Questions SET ProcessedBySearch=NULL");
                    103: 
                    104: 
                    105: 
                    106: 
                    107: 
                    108: 
                    109: 
                    110: 

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