package SQL::Translator::Schema::Table;
# ----------------------------------------------------------------------
-# $Id: Table.pm,v 1.19 2003-09-02 00:24:07 allenday Exp $
+# $Id: Table.pm,v 1.20 2003-09-25 01:31:28 allenday Exp $
# ----------------------------------------------------------------------
# Copyright (C) 2003 Ken Y. Clark <kclark@cpan.org>
#
use base 'Class::Base';
use vars qw( $VERSION $FIELD_ORDER );
-$VERSION = sprintf "%d.%02d", q$Revision: 1.19 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.20 $ =~ /(\d+)\.(\d+)/;
# ----------------------------------------------------------------------
sub init {
}
# ----------------------------------------------------------------------
+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){
+ $self->{'is_trivial_link'} = 0 and last if $fk{$referenced} > 1;
+ }
+
+ return $self->{'is_trivial_link'};
+
+}
+
sub is_data {
=pod
$self->{'is_data'} = 0;
- my %fk = ();
-
foreach my $field ( $self->get_fields ) {
if ( !$field->is_primary_key and !$field->is_foreign_key ) {
$self->{'is_data'} = 1;
return $self->{'is_data'};
-# } elsif($field->is_foreign_key) {
-# $fk{$field->foreign_key_reference->reference_table}++;
}
}
-# foreach my $referenced (keys %fk){
-# $self->{'is_data'} = 1 and last if $fk{$referenced} > 1;
-# }
-
return $self->{'is_data'};
}