--- nfo/perl/libs/Data/Storage/Handler/Abstract.pm 2002/12/01 04:45:38 1.4 +++ nfo/perl/libs/Data/Storage/Handler/Abstract.pm 2002/12/03 15:52:24 1.6 @@ -1,8 +1,14 @@ ################################# # -# $Id: Abstract.pm,v 1.4 2002/12/01 04:45:38 joko Exp $ +# $Id: Abstract.pm,v 1.6 2002/12/03 15:52:24 joko Exp $ # # $Log: Abstract.pm,v $ +# Revision 1.6 2002/12/03 15:52:24 joko +# + fix/feature: if dispatching to deep core method fails (is not declared), try method at Data::Storage - level +# +# Revision 1.5 2002/12/01 22:19:33 joko +# + just disconnect if COREHANDLE exists +# # Revision 1.4 2002/12/01 04:45:38 joko # + sub eraseAll # + sub createDb @@ -120,6 +126,9 @@ # method calls doing it until here will get dispatched to the proper handler return $self->{COREHANDLE}->$methodname(@_); + + } elsif ($self->can($methodname)) { + return $self->$methodname(@_); } } @@ -133,7 +142,7 @@ # call "disconnect" or alike on COREHANDLE # was: $self->{COREHANDLE}->disconnect(); - $disconnectMethod && ( $self->{COREHANDLE}->$disconnectMethod() ); + $disconnectMethod && $self->{COREHANDLE} && ( $self->{COREHANDLE}->$disconnectMethod() ); undef $self->{COREHANDLE}; }