App-Chart
view release on metacpan or search on metacpan
devel/database-info.pl view on Meta::CPAN
#!/usr/bin/perl -w
# Copyright 2008, 2009, 2010 Kevin Ryde
# This file is part of Chart.
#
# Chart 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 3, or (at your option) any later version.
#
# Chart 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 Chart. If not, see <http://www.gnu.org/licenses/>.
use strict;
use warnings;
use Data::Dumper;
use DBI::Const::GetInfoType;
use App::Chart;
use App::Chart::DBI;
my $dbh = App::Chart::DBI->instance();
print "DB\n";
{
print " name: ", $dbh->get_info($GetInfoType{SQL_DBMS_NAME}), "\n";
print " version: ", $dbh->get_info($GetInfoType{SQL_DBMS_VER}), "\n";
}
print "\n";
print "daily\n";
{
my $sth = $dbh->primary_key_info ('', '', 'daily');
my $aref = $sth->fetchall_arrayref ({});
print "primary_key_info: ", Dumper ($aref);
}
{
my $sth = $dbh->column_info (undef, undef, 'daily', 'date');
if (! defined $sth) {
print "no dbh->column_info: ", $dbh->errstr // '(no errstr)', "\n";
} else {
my $h = $sth->fetchall_hashref;
$sth->finish;
print "date column: ", Dumper (\$h);
}
}
print "\n";
print "type_info_all\n";
{
my $aref = $dbh->type_info_all;
print Dumper (\$aref);
}
print "\n";
print "database stats\n";
{
my $query = 'SELECT symbol,COUNT(*) FROM daily GROUP BY symbol ORDER BY COUNT(*)';
my $aref = $dbh->selectall_arrayref ("$query DESC LIMIT 5");
print Data::Dumper->new([$aref],['most daily records'])->Indent(1)->Dump;
$aref = $dbh->selectall_arrayref ("$query ASC LIMIT 5");
@$aref = reverse @$aref;
print Data::Dumper->new([$aref],['fewest daily records'])->Indent(1)->Dump;
}
exit 0;
( run in 1.046 second using v1.01-cache-2.11-cpan-39bf76dae61 )