oops, missing }
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Schema / Table.pm
index 35f51f6..adcd7b1 100644 (file)
@@ -1,7 +1,7 @@
 package SQL::Translator::Schema::Table;
 
 # ----------------------------------------------------------------------
-# $Id: Table.pm,v 1.18 2003-08-29 14:54:01 kycl4rk Exp $
+# $Id: Table.pm,v 1.22 2003-09-25 17:29:25 allenday Exp $
 # ----------------------------------------------------------------------
 # Copyright (C) 2003 Ken Y. Clark <kclark@cpan.org>
 #
@@ -51,7 +51,7 @@ use Data::Dumper;
 use base 'Class::Base';
 use vars qw( $VERSION $FIELD_ORDER );
 
-$VERSION = sprintf "%d.%02d", q$Revision: 1.18 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.22 $ =~ /(\d+)\.(\d+)/;
 
 # ----------------------------------------------------------------------
 sub init {
@@ -420,6 +420,38 @@ Determine whether the view is valid or not.
 }
 
 # ----------------------------------------------------------------------
+sub is_trivial_link {
+
+=pod
+
+=head2 is_data
+
+=cut
+
+    my $self = shift;
+    return 0 if $self->is_data;
+    return $self->{'is_trivial_link'} if defined $self->{'is_trivial_link'};
+
+    $self->{'is_trivial_link'} = 1;
+
+    my %fk = ();
+
+    foreach my $field ( $self->get_fields ) {
+         next unless $field->is_foreign_key;
+         $fk{$field->foreign_key_reference->reference_table}++;
+       }
+
+    foreach my $referenced (keys %fk){
+       if($fk{$referenced} > 1){
+         $self->{'is_trivial_link'} = 0;
+         last;
+       }
+    }
+
+    return $self->{'is_trivial_link'};
+
+}
+
 sub is_data {
 
 =pod