use strict;
use warnings ;
package Testing2;
use base 'Testing';
Testing2->table('test_a');
Testing2->columns(Primary => qw/oid/ ) ;
Testing2->has_many( bs => 'Testing3', 'aoid');
sub flagged {
my $self =shift ;
my @bs = $self->bs( flag => 1 ) ;
return shift @bs ;
}
sub flagged2 {
my $self =shift ;
unless(defined($self->{f})) {
my @bs = $self->bs( flag => 1 ) ;
$self->{f} = shift @bs ;
}
return $self->{f} ;
}
sub DESTROY {
my $self = shift;
print "Destroying a " . $self->oid . "\n";
}
1;
####
use strict;
use warnings ;
package Testing3;
use base 'Testing';
Testing3->table('test_b');
Testing3->columns(Primary => qw/oid/ ) ;
Testing3->columns(Essential => qw/aoid flag/ ) ;
Testing3->has_a( aoid => 'Testing2');
sub DESTROY {
my $self = shift;
print STDERR "Destroying b " . $self->oid . "\n";
}
1;
####
sub flagged {
my $self =shift ;
my @bs = $self->bs( flag => 1 ) ;
return shift @bs ;
}
####
sub flagged2 {
my $self =shift ;
unless(defined($self->{f})) {
my @bs = $self->bs( flag => 1 ) ;
$self->{f} = shift @bs ;
}
return $self->{f} ;
}