From: ivan Date: Mon, 9 Oct 2000 23:46:44 +0000 (+0000) Subject: get rid of use of uninitialized value errors X-Git-Tag: DBIx_DBSchema_0_13~2 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=aa31e0f05256c77eee84c1c436562b66f33cf8ab;p=DBIx-DBSchema.git get rid of use of uninitialized value errors --- diff --git a/DBSchema.pm b/DBSchema.pm index 37a3252..6c20d05 100644 --- a/DBSchema.pm +++ b/DBSchema.pm @@ -3,7 +3,7 @@ package DBIx::DBSchema; use strict; use vars qw(@ISA $VERSION); #use Exporter; -#use Carp qw(verbose); +use Carp qw(confess); use DBI; use FreezeThaw qw(freeze thaw cmpStr); use DBIx::DBSchema::Table; @@ -301,7 +301,7 @@ sub _load_driver { } else { $dbh =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i #nicked from DBI->connect or '' =~ /()/; # ensure $1 etc are empty if match fails - $driver = $1 or die "can't parse data source: $dbh"; + $driver = $1 or confess "can't parse data source: $dbh"; } #require "DBIx/DBSchema/DBD/$driver.pm"; diff --git a/DBSchema/Column.pm b/DBSchema/Column.pm index e0d27de..75c80b2 100644 --- a/DBSchema/Column.pm +++ b/DBSchema/Column.pm @@ -219,11 +219,11 @@ sub line { my $null = $self->null; - my $default = $self->default; - if ( defined($default) && default ne '' + my $default; + if ( defined($self->default) && $self->default ne '' && ref($dbh) # false laziness: nicked from FS::Record::_quote - && ( $default !~ /^\-?\d+(\.\d+)?$/ + && ( $self->default !~ /^\-?\d+(\.\d+)?$/ || $type =~ /(char|binary|blob|text)$/i ) ) { diff --git a/DBSchema/Table.pm b/DBSchema/Table.pm index f647ab9..bfb3779 100644 --- a/DBSchema/Table.pm +++ b/DBSchema/Table.pm @@ -303,17 +303,20 @@ supported in the future. =cut + sub sql_create_table { my($self, $dbh) = (shift, shift); $dbh = DBI->connect( $dbh, @_ ) or die $DBI::errstr unless ref($dbh) || ! @_; + my $gratuitous = $DBI::errstr; #surpress superfluous `used only once' error #false laziness: nicked from DBSchema::_load_driver my $driver; if ( ref($dbh) ) { $driver = $dbh->{Driver}->{Name}; } else { - $dbh =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i #nicked from DBI->connect + my $discard = $dbh; + $discard =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i #nicked from DBI->connect or '' =~ /()/; # ensure $1 etc are empty if match fails $driver = $1 or die "can't parse data source: $dbh"; }