fallback => 1,
;
-# ----------------------------------------------------------------------
-
__PACKAGE__->_attributes( qw/schema name comments options order/ );
=pod
return $self;
}
-
-
-# ----------------------------------------------------------------------
sub add_constraint {
=pod
return $constraint;
}
-# ----------------------------------------------------------------------
sub drop_constraint {
=pod
return $constraint;
}
-# ----------------------------------------------------------------------
sub add_index {
=pod
return $index;
}
-# ----------------------------------------------------------------------
sub drop_index {
=pod
return $index;
}
-# ----------------------------------------------------------------------
sub add_field {
=pod
return $field;
}
-# ----------------------------------------------------------------------
+
sub drop_field {
=pod
return $field;
}
-# ----------------------------------------------------------------------
sub comments {
=pod
}
}
-# ----------------------------------------------------------------------
sub get_constraints {
=pod
}
}
-# ----------------------------------------------------------------------
sub get_indices {
=pod
}
}
-# ----------------------------------------------------------------------
sub get_field {
=pod
return $self->{'fields'}{ $field_name };
}
-# ----------------------------------------------------------------------
sub get_fields {
=pod
}
}
-# ----------------------------------------------------------------------
sub is_valid {
=pod
return 1;
}
-# ----------------------------------------------------------------------
sub is_trivial_link {
=pod
return $self->{'is_data'};
}
-# ----------------------------------------------------------------------
sub can_link {
=pod
return $self->{'can_link'}{ $table1->name }{ $table2->name };
}
-# ----------------------------------------------------------------------
sub name {
=pod
return $self->{'name'} || '';
}
-# ----------------------------------------------------------------------
sub schema {
=pod
return $self->{'schema'};
}
-# ----------------------------------------------------------------------
sub primary_key {
=pod
return;
}
-# ----------------------------------------------------------------------
sub options {
=pod
}
}
-# ----------------------------------------------------------------------
sub order {
=pod
return $self->{'order'} || 0;
}
-# ----------------------------------------------------------------------
sub field_names {
=head2 field_names
}
}
-# ----------------------------------------------------------------------
sub equals {
=pod
return 1;
}
-# ----------------------------------------------------------------------
-
=head1 LOOKUP METHODS
The following are a set of shortcut methods for getting commonly used lists of
return wantarray ? @fields : \@fields;
}
-# ----------------------------------------------------------------------
sub fkey_fields {
my $me = shift;
my @fields;
return wantarray ? @fields : \@fields;
}
-# ----------------------------------------------------------------------
sub nonpkey_fields {
my $me = shift;
my @fields = grep { !$_->is_primary_key } $me->get_fields;
return wantarray ? @fields : \@fields;
}
-# ----------------------------------------------------------------------
sub data_fields {
my $me = shift;
my @fields =
return wantarray ? @fields : \@fields;
}
-# ----------------------------------------------------------------------
sub unique_fields {
my $me = shift;
my @fields;
return wantarray ? @fields : \@fields;
}
-# ----------------------------------------------------------------------
sub unique_constraints {
my $me = shift;
my @cons = grep { $_->type eq UNIQUE } $me->get_constraints;
return wantarray ? @cons : \@cons;
}
-# ----------------------------------------------------------------------
sub fkey_constraints {
my $me = shift;
my @cons = grep { $_->type eq FOREIGN_KEY } $me->get_constraints;
return wantarray ? @cons : \@cons;
}
-# ----------------------------------------------------------------------
sub DESTROY {
my $self = shift;
undef $self->{'schema'}; # destroy cyclical reference
1;
-# ----------------------------------------------------------------------
-
=pod
=head1 AUTHORS