Fix DB2 foreign-key introspection
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / DBI / DB2.pm
index f7a4382..45dabd3 100644 (file)
@@ -104,6 +104,8 @@ JOIN syscat.references sr
         AND tc.tabname = sr.tabname
 JOIN syscat.keycoluse rkcu
     ON sr.refkeyname = rkcu.constname
+        AND sr.reftabschema = rkcu.tabschema
+        AND sr.reftabname = rkcu.tabname
         AND kcu.colseq = rkcu.colseq
 WHERE tc.tabschema = ?
     AND tc.tabname = ?
@@ -162,6 +164,14 @@ sub _dbh_tables {
     return $self->dbh->tables($schema ? { TABLE_SCHEM => $schema, TABLE_NAME => '%' } : undef);
 }
 
+sub _dbh_table_info {
+    my $self = shift;
+
+    local $^W = 0; # shut up undef warning from DBD::DB2
+
+    $self->next::method(@_);
+}
+
 sub _columns_info_for {
     my $self = shift;
     my ($table) = @_;