X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FSybase.pm;h=d6212e2445bb6dc0a6a42ed8c35eda115df5cad6;hb=3bdcf490c99abda52aea5346fddb6f9f6c43bb2c;hp=4826934b7a42458a93b37f2c6e1fbd5cb5fcf1e0;hpb=c38ec663ec7b40c65613e5ec26542672b15cdbde;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm b/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm index 4826934..d6212e2 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm @@ -6,7 +6,7 @@ use base 'DBIx::Class::Schema::Loader::DBI::Sybase::Common'; use Carp::Clan qw/^DBIx::Class/; use mro 'c3'; -our $VERSION = '0.07001'; +our $VERSION = '0.07008'; =head1 NAME @@ -44,6 +44,19 @@ sub _rebless { } } +sub _tables_list { + my ($self, $opts) = @_; + + my $dbh = $self->schema->storage->dbh; + + my $sth = $dbh->table_info(undef, $self->db_schema, undef, "'TABLE','VIEW'"); + + my @tables = grep $_ ne 'sysquerymetrics', + map $_->{table_name}, @{ $sth->fetchall_arrayref({ table_name => 1 }) }; + + return $self->_filter_tables(\@tables, $opts); +} + sub _table_columns { my ($self, $table) = @_; @@ -187,10 +200,11 @@ sub _table_fk_info_builder { } sub _table_uniq_info { + no warnings 'uninitialized'; # for presumably XS weirdness with null operations my ($self, $table) = @_; - # FIXME - remove blind mask (can't test sybase yet) - local $SIG{__WARN__} = sub {}; + local $SIG{__WARN__} = sub { warn @_ + unless $_[0] =~ /^Formula for Calculation:|^(?:--?|\+|=) Number of (?:self )?references|^Total Number of Referential Constraints|^Details:|^\s*$/ }; my $dbh = $self->schema->storage->dbh; local $dbh->{FetchHashKeyName} = 'NAME_lc'; @@ -335,3 +349,4 @@ the same terms as Perl itself. =cut 1; +# vim:et sts=4 sw=4 tw=0: