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

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: 
                     35: use locale;
                     36: use DBI;
                     37: use POSIX qw (locale_h);
1.3     ! boris      38: use lib "../lib";
1.2       boris      39: use chgkfiles;
                     40: use dbchgk;
                     41: my $minstop=2000;
                     42: open (STDERR,">errors");
1.3     ! boris      43: do "../bin/common.pl";
        !            44: do "../bin/chgk.cnf";
1.2       boris      45: 
                     46: die "Undefined \$maxwsize! check your chgk.cnf" unless $maxwsize;
                     47: 
                     48: checktable('word2question','delete');
                     49: 
                     50: checktable('nests','delete');
                     51: 
                     52: checktable('nf','delete');
                     53: 
                     54: 
                     55: print "Creating word2question table...\n";
                     56: 
                     57:        mydo("CREATE TABLE word2question (
                     58:                id     INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     59:                             KEY idkey (id),
                     60:                word   INT UNSIGNED NOT NULL, 
                     61:                             KEY wordkey (word),
                     62:                questions  MEDIUMBLOB
                     63:                )"
                     64:             )
                     65: 
                     66:        or die "Can't create WORD2QUESTION table: $!\n";
                     67: 
                     68: print "Creating nests table...\n";
                     69: 
                     70:        mydo("CREATE TABLE nests (
                     71:                id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     72:                             KEY idkey (id),
                     73:                w1   CHAR($maxwsize) BINARY NOT NULL, 
                     74:                             KEY w1key (w1),
                     75:                w2   INT UNSIGNED NOT NULL,
                     76:                             KEY w2key (w2)             
                     77:        )")
                     78: 
                     79:        or die "Can't create NESTS table: $!\n";
                     80: 
                     81: 
                     82: 
                     83: 
                     84: print "Creating nf table...\n";
                     85: 
                     86: 
                     87: mydo("CREATE TABLE nf (
                     88:                id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     89:                     KEY idkey (id),
                     90:                word CHAR(30) BINARY NOT NULL, 
                     91:                             KEY wordkey (word),
                     92:                flag  CHAR(5),
                     93:                number INT UNSIGNED
                     94:   )") or die "Can't create NF table: $!\n";
                     95: 
                     96: 
                     97: mydo("UPDATE Questions SET ProcessedBySearch=NULL");
                     98: 
                     99: 
                    100: 
                    101: 
                    102: 
                    103: 
                    104: 
                    105: 

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