1) Add an explicit error to columns_info_for if the given schema/table combination...
Jess Robinson [Mon, 24 Jul 2006 12:16:00 +0000 (12:16 +0000)]
2) Upper case the input for Oracle.

lib/DBIx/Class/Storage/DBI.pm
lib/DBIx/Class/Storage/DBI/Oracle.pm

index 7c70bc6..931dd21 100644 (file)
@@ -860,6 +860,12 @@ sub columns_info_for {
       my ($schema,$tab) = $table =~ /^(.+?)\.(.+)$/ ? ($1,$2) : (undef,$table);
       my $sth = $dbh->column_info( undef,$schema, $tab, '%' );
       $sth->execute();
+
+      # Some error occured or there is no information:
+      if($sth->rows <1) {
+          die "column_info returned no rows for $schema, $tab";
+      }
+
       while ( my $info = $sth->fetchrow_hashref() ){
         my %column_info;
         $column_info{data_type}   = $info->{TYPE_NAME};
index cd5449b..935d46b 100644 (file)
@@ -38,6 +38,13 @@ sub get_autoinc_seq {
   croak "Unable to find a sequence INSERT trigger on table '" . $source->name . "'.";
 }
 
+sub columns_info_for {
+  my ($self, $table) = @_;
+
+  $self->next::columns_info_for($self, uc($table));
+}
+
+
 1;
 
 =head1 NAME