fixed compat problems w/ DBD::mysql 4.002+, bumped version to 0.03010 for release 0.03010
Brandon Black [Thu, 29 Mar 2007 13:16:30 +0000 (13:16 +0000)]
Changes
lib/DBIx/Class/Schema/Loader.pm
lib/DBIx/Class/Schema/Loader/DBI/mysql.pm

diff --git a/Changes b/Changes
index 0e6f83f..d578803 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,9 @@
 Revision history for Perl extension DBIx::Class::Schema::Loader
 
+0.03010 Thu Mar 29 12:36:19 UTC 2007
+        - Workaround for new incompatible changes in DBD::mysql's "tables"
+          method, which was causing us to find no tables w/ DBD::mysql
+          4.002+
         - Fixed quoting problem in _table_columns (could cause crash when 
           dumping/doing a static create) (from ash)
 
index 03a8cce..eb79ca2 100644 (file)
@@ -12,7 +12,7 @@ use Scalar::Util qw/ weaken /;
 # Always remember to do all digits for the version even if they're 0
 # i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports
 # brain damage and presumably various other packaging systems too
-our $VERSION = '0.03009';
+our $VERSION = '0.03010';
 
 __PACKAGE__->mk_classaccessor('dump_to_dir');
 __PACKAGE__->mk_classaccessor('loader');
index 7d4afca..c7e7923 100644 (file)
@@ -27,6 +27,22 @@ See L<DBIx::Class::Schema::Loader::Base>.
 
 =cut
 
+# had to override here because MySQL apparently
+#  doesn't support '%' syntax.  Perhaps the other
+#  drivers support this syntax also, but I didn't
+#  want to risk breaking some esoteric DBD::foo version
+#  in a maint release...
+sub _tables_list { 
+    my $self = shift;
+
+    my $dbh = $self->schema->storage->dbh;
+    my @tables = $dbh->tables(undef, $self->db_schema, undef, undef);
+    s/\Q$self->{_quoter}\E//g for @tables;
+    s/^.*\Q$self->{_namesep}\E// for @tables;
+
+    return @tables;
+}
+
 sub _table_fk_info {
     my ($self, $table) = @_;