summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorunknown <kent@mysql.com/kent-amd64.(none)>2007-03-22 19:43:15 +0100
committerunknown <kent@mysql.com/kent-amd64.(none)>2007-03-22 19:43:15 +0100
commit4b4700f32f88f58c9b7f3d30ef600b292c87693b (patch)
tree9a2b5cb6e347c1afe57a790d6b6986fe17216ceb /scripts
parentd3125d0a062364cf75d203e54dc29ccfd6b34a2e (diff)
downloadmariadb-git-4b4700f32f88f58c9b7f3d30ef600b292c87693b.tar.gz
.del-fill_func_tables.sh:
Delete: scripts/fill_func_tables.sh .del-fill_help_tables.sh: Delete: scripts/fill_help_tables.sh .del-internals.texi: Delete: Docs/internals.texi BitKeeper/deleted/.del-internals.texi: Delete: Docs/internals.texi BitKeeper/deleted/.del-fill_func_tables.sh: Delete: scripts/fill_func_tables.sh BitKeeper/deleted/.del-fill_help_tables.sh: Delete: scripts/fill_help_tables.sh
Diffstat (limited to 'scripts')
-rw-r--r--scripts/fill_func_tables.sh239
-rw-r--r--scripts/fill_help_tables.sh603
2 files changed, 0 insertions, 842 deletions
diff --git a/scripts/fill_func_tables.sh b/scripts/fill_func_tables.sh
deleted file mode 100644
index b7bd3736392..00000000000
--- a/scripts/fill_func_tables.sh
+++ /dev/null
@@ -1,239 +0,0 @@
-#!@PERL@
-#
-# Copyright (C) 2003 MySQL AB
-# For a more info consult the file COPYRIGHT distributed with this file.
-#
-# fill_func_tables - parse ../Docs/manual.texi
-#
-# Original version by Victor Vagin <vva@mysql.com>
-#
-
-my $cat_name= "";
-my $func_name= "";
-my $text= "";
-my $example= "";
-
-local $mode= "";
-
-sub prepare_name
-{
- my ($a)= @_;
-
- $a =~ s/(\@itemize \@bullet)/ /g;
- $a =~ s/(\@end itemize)/ /g;
- $a =~ s/(\@end multitable)/ /g;
- $a =~ s/(\@end table)/ /g;
- $a =~ s/(\@cindex(.*?)\n)/ /g;
- $a =~ s/(\@multitable \@columnfractions(.*?)\n)/ /g;
- $a =~ s/(\@node(.*?)\n)/ /g;
- $a =~ s/(\@tab)/\t/g;
- $a =~ s/\@item/ /g;
- $a =~ s/\@code\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@strong\{(.+?)\}/$1/go;
- $a =~ s/\@samp\{(.+?)\}/$1/go;
- $a =~ s/\@emph\{((.|\n)+?)\}/\/$1\//go;
- $a =~ s/\@xref\{((.|\n)+?)\}/See also : [$1]/go;
- $a =~ s/\@ref\{((.|\n)+?)\}/[$1]/go;
- $a =~ s/\'/\'\'/g;
- $a =~ s/\\/\\\\/g;
- $a =~ s/\`/\`\`/g;
-
- $a =~ s/\@table \@code/ /g;
-
- $a =~ s/\(\)//g;
-
- $a =~ s/((\w|\s)+)\(([\+-=><\/%*!<>\s]+)\)/$3/gxs; #$a =~ s/((\w|\s)+)\(([\+-=><\/%*!<>\s]+)\)/$3 $1/gxs;
- $a =~ s/([\+-=><\/%*!<>\s]+)\(((\w|\s)+)\)/$1/gxs;#$a =~ s/([\+-=><\/%*!<>\s]+)\(((\w|\s)+)\)/$1 $2/gxs;
- $a =~ s/((\w|\s)+)\((.+)\)/$1/gxs;
-
- return $a;
-}
-
-sub prepare_text
-{
- my ($a)= @_;
-
- $a =~ s/(\@itemize \@bullet)/ /g;
- $a =~ s/(\@end itemize)/ /g;
- $a =~ s/(\@end multitable)/ /g;
- $a =~ s/(\@end table)/ /g;
- $a =~ s/(\@cindex(.*?)\n)/ /g;
- $a =~ s/(\@multitable \@columnfractions(.*?)\n)/ /g;
- $a =~ s/(\@node(.*?)\n)/ /g;
- $a =~ s/(\@tab)/\t/g;
- $a =~ s/\@itemx/ /g;
- $a =~ s/\@item/ /g;
- $a =~ s/\@code\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@strong\{(.+?)\}/$1/go;
- $a =~ s/\@samp\{(.+?)\}/$1/go;
- $a =~ s/\@emph\{((.|\n)+?)\}/\/$1\//go;
- $a =~ s/\@xref\{((.|\n)+?)\}/See also : [$1]/go;
- $a =~ s/\@ref\{((.|\n)+?)\}/[$1]/go;
- $a =~ s/\'/\'\'/g;
- $a =~ s/\\/\\\\/g;
- $a =~ s/\`/\`\`/g;
- $a =~ s/(\n*?)$//g;
- $a =~ s/\n/\\n/g;
-
- $a =~ s/\@table \@code/ /g;
-
- return $a;
-}
-
-sub prepare_example
-{
- my ($a)= @_;
-
- $a =~ s/\'/\'\'/g;
- $a =~ s/\\/\\\\/g;
- $a =~ s/\`/\`\`/g;
- $a =~ s/(\n*?)$//g;
- $a =~ s/\n/\\n/g;
-
- return $a;
-}
-
-sub flush_all
-{
- my ($mode) = @_;
-
- if ($mode eq ""){return;}
-
- $func_name= prepare_name($func_name);
- $text= prepare_text($text);
- $example= prepare_example($example);
-
- if ($func_name ne "" && $text ne "" && !($func_name =~ /[abcdefghikjlmnopqrstuvwxyz]/)){
- print "INSERT INTO function (name,description,example) VALUES (";
- print "'$func_name',";
- print "'$text',";
- print "'$example'";
- print ");\n";
- print "INSERT INTO function_category (cat_id,func_id) VALUES (\@cur_category,LAST_INSERT_ID());\n";
- }
-
- $func_name= "";
- $text= "";
- $example= "";
- $mode= "";
-}
-
-sub new_category
-{
- my ($category)= @_;
-
- $category= prepare_text($category);
-
- print "INSERT INTO function_category_name (name) VALUES (\'$category\');\n";
- print "SELECT \@cur_category:=LAST_INSERT_ID();\n";
-}
-
-print "INSERT INTO db (Host,DB,User,Select_priv) VALUES ('%','mysql_help','','Y');\n";
-print "CREATE DATABASE mysql_help;\n";
-
-print "USE mysql_help;\n";
-
-print "DROP TABLE IF EXISTS function;\n";
-print "CREATE TABLE function (";
-print " func_id int unsigned not null auto_increment,";
-print " name varchar(64) not null,";
-print " url varchar(128) not null,";
-print " description text not null,";
-print " example text not null,";
-print " min_args tinyint not null,";
-print " max_args tinyint,";
-print " date_created datetime not null,";
-print " last_modified timestamp not null,";
-print " primary key (func_id)";
-print ") type=myisam;\n\n";
-
-print "DROP TABLE IF EXISTS function_category_name;\n";
-print "CREATE TABLE function_category_name (";
-print " cat_id smallint unsigned not null auto_increment,";
-print " name varchar(64) not null,";
-print " url varchar(128) not null,";
-print " date_created datetime not null,";
-print " last_modified timestamp not null,";
-print " primary key (cat_id)";
-print ") type=myisam;\n\n";
-
-print "DROP TABLE IF EXISTS function_category;\n";
-print "CREATE TABLE function_category (";
-print " cat_id smallint unsigned not null references function_category_name,";
-print " func_id int unsigned not null references function,";
-print " primary key (cat_id, func_id)";
-print ") type=myisam;\n\n";
-
-print "DELETE FROM function_category_name;\n";
-print "DELETE FROM function_category;\n";
-print "DELETE FROM function;\n";
-print "SELECT \@cur_category:=null;\n\n";
-
-my $in_section_6_3= 0;
-
-for(<>)
-{
- if ($_=~/\@section Functions for Use in \@code{SELECT} and \@code{WHERE} Clauses/ &&
- !$in_section_6_3){
- $in_section_6_3= 1;
- next;
- }
-
- if ($_=~/\@section/ && $in_section_6_3){
- $in_section_6_3= 0;
- next;
- }
-
- if (!$in_section_6_3) { next; }
-
- my $c_name= "";
-
- ($c_name)=m|\@c for_mysql_help,(.+?)$|;
- if (!($c_name eq "") && ! ($c_name =~ m/$cat_name/i)){
- ($cat_name)= $c_name;
- new_category($cat_name);
- next;
- }
-
- ($c_name)=m|\@subsubsection (.+?)$|;
- if (!($c_name eq "") && ! ($c_name =~ m/$cat_name/i)){
- ($cat_name)= $c_name;
- new_category($cat_name);
- next;
- }
-
- ($c_name)=m|\@subsection (.+?)$|;
- if (!($c_name eq "") && ! ($c_name =~ m/$cat_name/i)){
- ($cat_name)= $c_name;
- new_category($cat_name);
- next;
- }
-
- ($f_name)=m|\@findex (.+?)$|;
- if (!($f_name eq "")){
- flush_all($mode);
- ($func_name)= ($f_name);
- $mode= "text";
- next;
- }
-
- if ($_=~/\@example/ && ($mode eq "text")){
- $mode= "example";
- next;
- }
-
- if ($_=~/\@end example/ && ($mode eq "example")){
- flush_all($mode);
- next;
- }
-
- if ($mode eq "text") { $text .= $_; }
- if ($mode eq "example") { $example .= $_; }
-}
-
-
-print "DELETE function_category_name ";
-print "FROM function_category_name ";
-print "LEFT JOIN function_category ON function_category.cat_id=function_category_name.cat_id ";
-print "WHERE function_category.cat_id is null;"
-
diff --git a/scripts/fill_help_tables.sh b/scripts/fill_help_tables.sh
deleted file mode 100644
index fc0c684c2dc..00000000000
--- a/scripts/fill_help_tables.sh
+++ /dev/null
@@ -1,603 +0,0 @@
-#!@PERL@
-#
-# Copyright (C) 2003 MySQL AB
-# For a more info consult the file COPYRIGHT distributed with this file.
-#
-# This script generates the SQL statements required by mysql_install_db to
-# fill up the tables for the server-side online function help, which can be
-# invoked with "help <function>" from the MySQL client.
-#
-# Usage:
-# fill_help_tables OPTIONS < manual.texi > fill_help_tables.sql
-#
-# --help display this helpscreen and exit
-# --verbose print information about help completeness to STDERR
-# --lexems=path path to file with lexems. it is used with verbose option.
-# default value is ../sql/lex.h
-# Examples:
-# ./fill_help_tables --help
-# ./fill_help_tables --verbose < manual.texi > fill_help_tables.sql
-# ./fill_help_tables < manual.texi > fill_help_tables.sql
-#
-# Please note, that you first need to update Docs/manual.texi with the
-# manual file from the separate "mysqldoc" BitKeeper-Tree! The manual.texi
-# included in the source tree is just an empty stub file - the full manual
-# is now maintained in a separate tree.
-#
-# extra tags in manual.texi:
-#
-# @c help_category <category_name>[@<parent_category_name>]
-#
-# @c description_for_help_topic <topic_name> <keyword1> <keyword2>
-# ....
-# @c end_description_for_help_topic
-#
-# @c example_for_help_topic <topic_name>
-# @example
-# ....
-# @end example
-#
-#
-# Original version by Victor Vagin <vva@mysql.com>
-#
-
-use strict;
-use Getopt::Long;
-
-my $insert_portion_size= 15;
-my $error_prefix= "---- help parsing errors :";
-
-my $path_to_lex_file= "../sql/lex.h";
-my $verbose_option= 0;
-my $help_option= 0;
-
-my $cur_line= 0;
-my $count_errors= 0;
-
-GetOptions(
- "help",\$help_option,
- "verbose",\$verbose_option,
- "lexems=s",\$path_to_lex_file
-);
-
-if ($help_option ne 0)
-{
- print <<_HELP;
-
-This script generates the SQL statements required by mysql_install_db to
-fill up the tables for the server-side online function help, which can be
-invoked with "help <function>" from the MySQL client.
-
-Usage:
- fill_help_tables OPTIONS < manual.texi > fill_help_tables.sql
-
- --help display this helpscreen and exit
- --verbose print information about help completeness to STDERR
- --lexems=path path to file with lexems. it is used with verbose option.
- default value is ../sql/lex.h
-
-Examples:
- ./fill_help_tables --help
- ./fill_help_tables --verbose < manual.texi > fill_help_tables.sql
- ./fill_help_tables < manual.texi > fill_help_tables.sql
-
-_HELP
- exit;
-}
-
-my $current_category= "";
-my $current_parent_category= "";
-my $next_example_for_topic= "";
-
-my %topics;
-my %categories;
-my %keywords;
-
-$categories{Contents}->{__parent_category__}= "";
-
-sub print_error
-{
- my ($text)= @_;
- if ($count_errors==0)
- {
- print STDERR "$error_prefix\n";
- }
- print STDERR "line $cur_line : $text";
- $count_errors++;
-}
-
-sub add_topic_to_category
-{
- my ($topic_name)= @_;
-
- $categories{$current_category}->{$topic_name}= $topics{$topic_name};
- my $category= $categories{$current_category};
- $category->{__name__}= $current_category;
-
- if (exists($category->{__parent_category__}))
- {
- my $old_parent= $category->{__parent_category__};
- if ($old_parent ne $current_parent_category)
- {
- print_error "wrong parent for $current_category\n";
- }
- }
-
- if ($current_parent_category ne "")
- {
- $category->{__parent_category__}= $current_parent_category;
- }
-
- if (exists($topics{$topic_name}->{category}))
- {
- my $old_category= $topics{$topic_name}->{category};
- if ($old_category ne $category)
- {
- print_error "wrong category for $topic_name (first one's \"$old_category->{__name__}\" second one's \"$current_category\")\n";
- }
- }
-
- $topics{$topic_name}->{category}= $category;
-}
-
-sub add_example
-{
- my ($topic_name,$example)= @_;
-
- $topic_name=~ tr/a-z/A-Z/;
-
- if (exists($topics{$topic_name}->{example}))
- {
- print_error "double example for $topic_name\n";
- }
-
- $topics{$topic_name}->{example}= $example;
- add_topic_to_category($topic_name);
-}
-
-sub add_description
-{
- my ($topic_name,$description)= @_;
-
- $topic_name=~ tr/a-z/A-Z/;
-
- if (exists($topics{$topic_name}->{description}))
- {
- print_error "double description for $topic_name\n";
- }
- $topics{$topic_name}->{description}= $description;
- add_topic_to_category($topic_name);
-}
-
-sub add_keyword
-{
- my ($topic_name,$keyword)= @_;
-
- $topic_name=~ tr/a-z/A-Z/;
- $keyword=~ tr/a-z/A-Z/;
-
- push(@{$topics{$topic_name}->{keywords}},$keyword);
- if (exists($keywords{$keyword}->{$topic_name}))
- {
- print_error "double keyword $keyword for $topic_name\n";
- }
- $keywords{$keyword}->{$topic_name}= $topics{$topic_name};
-}
-
-sub prepare_name
-{
- my ($a)= @_;
-
- $a =~ s/(\@itemize \@bullet)/ /g;
- $a =~ s/(\@end itemize)/ /g;
- $a =~ s/(\@end multitable)/ /g;
- $a =~ s/(\@end table)/ /g;
- $a =~ s/(\@cindex(.*?)\n)/ /g;
- $a =~ s/(\@multitable \@columnfractions(.*?)\n)/ /g;
- $a =~ s/(\@node(.*?)\n)/ /g;
- $a =~ s/(\@tab)/\t/g;
- $a =~ s/\@item/ /g;
- $a =~ s/\@minus\{\}/-/g;
- $a =~ s/\@dots\{\}/.../g;
- $a =~ s/\@var\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@command\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@code\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@strong\{(.+?)\}/$1/go;
- $a =~ s/\@samp\{(.+?)\}/'$1'/go;
- $a =~ s/\@emph\{((.|\n)+?)\}/\/$1\//go;
- $a =~ s/\@xref\{((.|\n)+?)\}/See also : [$1]/go;
- $a =~ s/\@ref\{((.|\n)+?)\}/[$1]/go;
- $a =~ s/\'/\'\'/g;
- $a =~ s/\\/\\\\/g;
- $a =~ s/\`/\`\`/g;
-
- $a =~ s/\@table \@code/ /g;
- $a =~ s/\(\)//g;
- $a =~ s/\"/\\\"/g;
-
- $a =~ s/((\w|\s)+)\(([\+-=><\/%*!<>\s]+)\)/$3/gxs;
- $a =~ s/([\+-=><\/%*!<>\s]+)\(((\w|\s)+)\)/$1/gxs;
- $a =~ s/((\w|\s)+)\((.+)\)/$1/gxs;
-
- $a =~ s/((\s)+)$//g;
-
- return $a;
-}
-
-sub prepare_description
-{
- my ($a)= @_;
-
- $a =~ s/(\@itemize \@bullet\n)//g;
- $a =~ s/(\@c help_keyword (.*?)\n)//g;
- $a =~ s/(\@end itemize\n)//g;
- $a =~ s/(\@end example\n)//g;
- $a =~ s/(\@example\n)//g;
- $a =~ s/(\@{)/{/g;
- $a =~ s/(\@})/}/g;
- $a =~ s/(\@end multitable)/ /g;
- $a =~ s/(\@end table)/ /g;
- $a =~ s/(\@cindex(.*?)\n)//g;
- $a =~ s/(\@findex(.*?)\n)//g;
- $a =~ s/(\@table(.*?)\n)//g;
- $a =~ s/(\@multitable \@columnfractions(.*?)\n)/ /g;
- $a =~ s/(\@node(.*?)\n)/ /g;
- $a =~ s/(\@tab)/\t/g;
- $a =~ s/\@itemx/ /g;
- $a =~ s/(\@item\n(\s*?))(\S)/ --- $3/g;
- $a =~ s/(\@item)/ /g;
- $a =~ s/(\@tindex\s(.*?)\n)//g;
- $a =~ s/(\@c\s(.*?)\n)//g;
- $a =~ s/\@minus\{\}/-/g;
- $a =~ s/\@dots\{\}/.../g;
- $a =~ s/\@var\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@command\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@code\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@strong\{(.+?)\}/$1/go;
- $a =~ s/\@samp\{(.+?)\}/'$1'/go;
- $a =~ s/\@emph\{((.|\n)+?)\}/\/$1\//go;
- $a =~ s/\@xref\{((.|\n)+?)\}/See also : [$1]/go;
- $a =~ s/\@ref\{((.|\n)+?)\}/[$1]/go;
- $a =~ s/\@w\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@strong\{((.|\n)+?)\}/\n!!!!\n$1\n!!!!\n/go;
- $a =~ s/\@file\{((.|\n)+?)\}/\*$1/go;
- $a =~ s/\\/\\\\/g;
- $a =~ s/\n\n$/\n/g;
- $a =~ s/\n\n$/\n/g;
- $a =~ s/\n\n$/\n/g;
- $a =~ s/\n\n$/\n/g;
- $a =~ s/\n\n$/\n/g;
- $a =~ s/\n/\\n/g;
- $a =~ s/\"/\\\"/g;
-
- $a =~ s/\@table \@code/ /g;
-
- return $a;
-}
-
-sub prepare_example
-{
- my ($a)= @_;
-
- $a =~ s/(^\@c for_help_topic(.*?)\n)//g;
-
- $a =~ s/\@var\{((.|\n)+?)\}/$1/go;
- $a =~ s/\@dots\{\}/.../g;
- $a =~ s/\\/\\\\/g;
- $a =~ s/(\@{)/{/g;
- $a =~ s/(\@})/}/g;
- $a =~ s/(\@\@)/\@/g;
- $a =~ s/(\n*?)$//g;
- $a =~ s/\n/\\n/g;
- $a =~ s/\"/\\\"/g;
-
- return $a;
-}
-
-sub parse_example
-{
- return if (!($_=~/\@example/));
- return if ($next_example_for_topic eq "");
-
- my $topic_name= $next_example_for_topic;
- $next_example_for_topic= "";
- my $text= "";
-
- while (<>)
- {
- $cur_line++;
- last if ($_=~/\@end example/);
- $text .= $_;
- }
-
- $text= prepare_example($text);
- $topic_name= prepare_name($topic_name);
- add_example($topic_name,$text) if ($topic_name ne "");
-}
-
-sub parse_example_for_topic
-{
- my ($for_topic)= m|\@c example_for_help_topic (.+?)$|;
- return if ($for_topic eq "");
-
- $next_example_for_topic= $for_topic;
-}
-
-sub parse_description
-{
- my ($topic_description)= m|\@c description_for_help_topic (.+?)$|;
- return if ($topic_description eq "");
-
- my ($topic_name,$topic_keywords)= split(/ /,$topic_description);
-
- if ($topic_name eq "" || $topic_keywords eq "")
- {
- $topic_name= $topic_description;
- }
- else
- {
- my $keyword;
- foreach $keyword (split(/ /,$topic_keywords))
- {
- add_keyword($topic_name,$keyword) if ($keyword ne "");
- }
- }
-
- my $text= "";
-
- while (<>)
- {
- $cur_line++;
- last if ($_=~/\@c end_description_for_help_topic/);
- $text .= $_;
- }
-
- $text= prepare_description($text);
- $topic_name= prepare_name($topic_name);
- add_description($topic_name,$text);
-}
-
-sub parse_category
-{
- my ($c_name,$pc_name)= m|\@c help_category (.+?)\@(.+?)$|;
-
- if ($pc_name ne "")
- {
- $current_category= prepare_name($c_name);
- $current_parent_category= prepare_name($pc_name);
- }
- else
- {
- my ($c_name)=m|\@c help_category (.+?)$|;
- return if ($c_name eq "");
-
- $current_category= prepare_name($c_name);
- $current_parent_category= "Contents"
- }
-}
-
-# parse manual:
-
-while (<>)
-{
- parse_example_for_topic ();
- parse_example ();
- parse_description ();
- parse_category ();
- $cur_line++;
-}
-
-# test results of parsing:
-
-sub print_bad_names
-{
- my($names,$prompt)= @_;
- if (scalar(@{$names}))
- {
- print STDERR "\n-------------- $prompt : \n\n";
- my $name;
- foreach $name (@{$names})
- {
- print STDERR "$name\n";
- }
- print STDERR "\n";
- }
-}
-
-sub print_verbose_errors
-{
- my($name_of_log_file)= @_;
-
- my @without_help;
- my @description_with_at;
- my @example_with_at;
- my @without_description;
- my @without_example;
-
- print STDERR "\n-------------- parameters of help completeness : \n\n";
-
- my $count_lex= 0;
- if (!open (TLEX,"<$path_to_lex_file"))
- {
- print STDERR "Error opening lex file \"$path_to_lex_file\" $!\n";
- }
- else
- {
- for (<TLEX>)
- {
- my ($a,$lex,$b)=m|(.+?)\"(.+?)\"(.+?)$|;
- next if ($lex eq "");
- $count_lex++;
- next if (exists($topics{$lex}) || exists($keywords{$lex}));
- push(@without_help,$lex);
- }
- close(TLEX);
- print STDERR "number of lexems in \"$path_to_lex_file\" - $count_lex\n";
- }
-
- my $name;
- my @topic_names= keys(%topics);
- foreach $name (@topic_names)
- {
- my $topic= $topics{$name};
- push(@description_with_at,$name) if ($topic->{description}=~/\@/);
- push(@example_with_at,$name) if ($topic->{example}=~/\@/);
- push(@without_description,$name) if (!exists($topic->{description}));
- push(@without_example,$name) if (!exists($topic->{example}));
- }
-
- my $count_categories= scalar(keys(%categories));
- print STDERR "number of help categories - ",$count_categories,"\n";
- my $count_topics= scalar(@topic_names);
- print STDERR "number of help topics - ",$count_topics,"\n";
- my $count_keywords= scalar(keys(%keywords));
- print STDERR "number of help keywords - ",$count_keywords,"\n";
-
- my $count_without_help= scalar(@without_help);
- my $percent_without_help= $count_lex ?
- int (($count_without_help/$count_lex)*100) :
- "100";
- print_bad_names(\@without_help,"lexems without help (".
- $count_without_help." ~ ".
- $percent_without_help."%)");
- print_bad_names(\@description_with_at,
- " topics below have symbol \'@\' in their descriptions.\n".
- "it's probably the litter from 'texi' tags (script needs fixing)");
- print_bad_names(\@example_with_at,
- " topics below have symbol \'@\' in their examples.\n".
- "it's probably the litter from 'texi' tags (script needs fixing)");
- print_bad_names(\@without_description,"topics without description");
-
- my $count_without_example= scalar(@without_example);
- my $percent_without_example= $count_topics ?
- int (($count_without_example/$count_topics)*100) :
- "100";
- print_bad_names(\@without_example,"topics without example (".
- $count_without_example." ~ ".
- $percent_without_example."%)");
-}
-
-print_verbose_errors if ($verbose_option ne 0);
-
-# output result
-
-sub print_insert_header
-{
- my($count,$header)= @_;
-
- if ($count % $insert_portion_size ne 0) {
- print ",";
- } else {
- print ";\n" if ($count ne 0);
- print "$header";
- }
-}
-
-print <<EOF;
--- Copyright (C) 2000-2005 MySQL AB
---
--- This program is free software; you can redistribute it and/or modify
--- it under the terms of the GNU General Public License as published by
--- the Free Software Foundation; either version 2 of the License, or
--- (at your option) any later version.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with this program; if not, write to the Free Software
--- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-EOF
-print "delete from help_topic;\n";
-print "delete from help_category;\n";
-print "delete from help_keyword;\n";
-print "delete from help_relation;\n\n";
-
-my @category_names= keys(%categories);
-if (scalar(@category_names))
-{
- my $cat_name;
- my $count= 0;
- foreach $cat_name (@category_names)
- {
- $categories{$cat_name}->{__id__}= $count;
- $count++;
- }
-
- my $header= "insert into help_category ".
- "(help_category_id,name,parent_category_id) values ";
- $count= 0;
- foreach $cat_name (@category_names)
- {
- print_insert_header($count,$header);
- my $parent_cat_name= $categories{$cat_name}->{__parent_category__};
- my $parent_cat_id= $parent_cat_name eq ""
- ? "-1" : $categories{$parent_cat_name}->{__id__};
- print "($count,\"$cat_name\",$parent_cat_id)";
- $count++;
- }
- printf ";\n\n";
-}
-
-my @topic_names= keys(%topics);
-if (scalar(@topic_names))
-{
- my $header= "insert into help_topic ".
- "(help_topic_id,help_category_id,name,description,example) values ";
- my $topic_name;
- my $count= 0;
- foreach $topic_name (@topic_names)
- {
- print_insert_header($count,$header);
- my $topic= $topics{$topic_name};
- print "($count,";
- print "$topic->{category}->{__id__},";
- print "\"$topic_name\",";
- print "\"$topic->{description}\",";
- print "\"$topic->{example}\")";
- $topics{$topic_name}->{__id__}= $count;
- $count++;
- }
- printf ";\n\n";
-}
-
-my @keywords_names= keys(%keywords);
-if (scalar(@keywords_names))
-{
- my $header= "insert into help_keyword (help_keyword_id,name) values ";
- my $keyword_name;
- my $count= 0;
- foreach $keyword_name (@keywords_names)
- {
- print_insert_header($count,$header);
- print "($count,\"$keyword_name\")";
- $count++;
- }
- printf ";\n\n";
-
- $header= "insert into help_relation ".
- "(help_topic_id,help_keyword_id) values ";
- $count= 0;
- my $count_keyword= 0;
- foreach $keyword_name (@keywords_names)
- {
- my $topic_name;
- foreach $topic_name (keys(%{$keywords{$keyword_name}}))
- {
- print_insert_header($count,$header);
- print "($topics{$topic_name}->{__id__},$count_keyword)";
- $count++;
- }
- $count_keyword++;
- }
- printf ";\n\n";
-}
-
-if ($count_errors)
-{
- print STDERR "$count_errors errors !!!\n";
- exit 1;
-}