diff options
author | unknown <stewart@mysql.com> | 2005-11-16 18:26:30 +1100 |
---|---|---|
committer | unknown <stewart@mysql.com> | 2005-11-16 18:26:30 +1100 |
commit | 517967de1ab922113a97d0dd19d0c2ea50978c67 (patch) | |
tree | 6fe9a857eb84e36ab2e0e38f84fa4fd35fb6ffb2 /ndb | |
parent | 19809fab2d378968b0660abbb67d0d459e25e607 (diff) | |
download | mariadb-git-517967de1ab922113a97d0dd19d0c2ea50978c67.tar.gz |
WL#2779 ndb_size.pl
fix some small bugs, slightly improve output, add --help
ndb/tools/ndb_size.pl:
Provide --help and --usage.
Fix some bugs related to quoting table names.
ndb/tools/ndb_size.tmpl:
A NAME and A HREF to tables from the main list
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/tools/ndb_size.pl | 30 | ||||
-rw-r--r-- | ndb/tools/ndb_size.tmpl | 6 |
2 files changed, 22 insertions, 14 deletions
diff --git a/ndb/tools/ndb_size.pl b/ndb/tools/ndb_size.pl index 64a20423636..0203b0c1112 100644 --- a/ndb/tools/ndb_size.pl +++ b/ndb/tools/ndb_size.pl @@ -26,24 +26,33 @@ use HTML::Template; # BUGS # ---- # - enum/set is 0 byte storage! Woah - efficient! +# - DECIMAL is 0 byte storage. A bit too efficient. # - some float stores come out weird (when there's a comma e.g. 'float(4,1)') # - no disk data values # - computes the storage requirements of views (and probably MERGE) # - ignores character sets. my $template = HTML::Template->new(filename => 'ndb_size.tmpl', - die_on_bad_params => 0); + die_on_bad_params => 0) + or die "Could not open ndb_size.tmpl."; my $dbh; +if(@ARGV < 3 || $ARGV[0] eq '--usage' || $ARGV[0] eq '--help') +{ + print STDERR "Usage:\n"; + print STDERR "\tndb_size.pl database hostname user password\n\n"; + print STDERR "If you need to specify a port number, use host:port\n\n"; + exit(1); +} + { my $database= $ARGV[0]; my $hostname= $ARGV[1]; - my $port= $ARGV[2]; - my $user= $ARGV[3]; - my $password= $ARGV[4]; - my $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port"; - $dbh= DBI->connect($dsn, $user, $password); + my $user= $ARGV[2]; + my $password= $ARGV[3]; + my $dsn = "DBI:mysql:database=$database;host=$hostname"; + $dbh= DBI->connect($dsn, $user, $password) or exit(1); $template->param(db => $database); $template->param(dsn => $dsn); } @@ -68,9 +77,8 @@ foreach(@{$tables}) { my $table= @{$_}[0]; my @columns; - my $info= $dbh->selectall_hashref("describe ".$dbh->quote($table),"Field"); - my @count = $dbh->selectrow_array("select count(*) from " - .$dbh->quote($table)); + my $info= $dbh->selectall_hashref('describe `'.$table.'`',"Field"); + my @count = $dbh->selectrow_array('select count(*) from `'.$table.'`'); my %columnsize; # used for index calculations # We now work out the DataMemory usage @@ -132,7 +140,7 @@ foreach(@{$tables}) my $fixed= 1+$size; my @dynamic=$dbh->selectrow_array("select avg(length(" .$dbh->quote($name) - .")) from ".$dbh->quote($table)); + .")) from `".$table.'`'); $dynamic[0]=0 if !$dynamic[0]; @realsize= ($fixed,$fixed,ceil($dynamic[0])); } @@ -166,7 +174,7 @@ foreach(@{$tables}) # we can still connect to pre-5.0 mysqlds. my %indexes; { - my $sth= $dbh->prepare("show index from "$dbh->quote($table)); + my $sth= $dbh->prepare("show index from `".$table.'`'); $sth->execute; while(my $i = $sth->fetchrow_hashref) { diff --git a/ndb/tools/ndb_size.tmpl b/ndb/tools/ndb_size.tmpl index d83d5d2c6af..5d9fc8bf0c5 100644 --- a/ndb/tools/ndb_size.tmpl +++ b/ndb/tools/ndb_size.tmpl @@ -13,18 +13,18 @@ td,th { border: 1px solid black } <h1>MySQL Cluster analysis for <TMPL_VAR NAME="db" escape="html"></h1> <p>This is an automated analysis of the <TMPL_VAR NAME="DSN" escape="html"> database for migration into <a href="http://www.mysql.com/">MySQL</a> Cluster. No warranty is made to the accuracy of the information.</p> -<p>This information should be valid for MySQL 4.1</p> +<p>This information should be valid for MySQL 4.1 and 5.0. Since 5.1 is not a final release yet, the numbers should be used as a guide only.</p> <ul> <TMPL_LOOP NAME="tables"> -<li><TMPL_VAR NAME="table"></li> +<li><a href="#<TMPL_VAR NAME="table">"><TMPL_VAR NAME="table"></a></li> </TMPL_LOOP> </ul> <hr/> <TMPL_LOOP NAME="tables"> -<h2><TMPL_VAR NAME="table"></h2> +<h2><a name="<TMPL_VAR NAME="table">"><TMPL_VAR NAME="table"></a></h2> <table> <tr> <th>Column</th> |