X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FSchema%2FTable.pm;h=adcd7b1bf089f89a9bbbd3a676e70dae7f9fc78f;hb=3d6c9056fc529b57d10d322fce4d7be07c61bc62;hp=35f51f67bd11bfa39924305cfb04eb7723c9beaf;hpb=870024f3994d5f763ab80c6e6e18fec2d9b05c25;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Schema/Table.pm b/lib/SQL/Translator/Schema/Table.pm index 35f51f6..adcd7b1 100644 --- a/lib/SQL/Translator/Schema/Table.pm +++ b/lib/SQL/Translator/Schema/Table.pm @@ -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 # @@ -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