--- nfo/perl/libs/Data/Storage/Result/Tangram.pm 2002/12/05 08:01:26 1.2 +++ nfo/perl/libs/Data/Storage/Result/Tangram.pm 2003/04/09 02:09:47 1.5 @@ -1,8 +1,17 @@ ############################################ # -# $Id: Tangram.pm,v 1.2 2002/12/05 08:01:26 joko Exp $ +# $Id: Tangram.pm,v 1.5 2003/04/09 02:09:47 joko Exp $ # # $Log: Tangram.pm,v $ +# Revision 1.5 2003/04/09 02:09:47 joko +# bugfix: check for existance of '->close'-method before calling it on the 'RESULTHANDLE'-instance +# +# Revision 1.4 2003/03/27 15:31:15 joko +# fixes to modules regarding new namespace(s) below Data::Mungle::* +# +# Revision 1.3 2003/01/31 06:34:49 joko +# + fixes to 'getNextEntry' and 'getStatus' +# # Revision 1.2 2002/12/05 08:01:26 joko # + sub getStatus utilizing isEmpty to determine if result is set/unset and/or filled/unfilled # @@ -20,12 +29,12 @@ use base ("Data::Storage::Result::Abstract"); use Data::Dumper; -use Data::Compare::Struct qw( isEmpty ); +use Data::Mungle::Compare::Struct qw( isEmpty ); sub DESTROY { my $self = shift; #$logger->debug( __PACKAGE__ . "->" . "DESTROY" ); - $self->{RESULTHANDLE} && $self->{RESULTHANDLE}->close(); + $self->{RESULTHANDLE} && $self->{RESULTHANDLE}->can('close') && $self->{RESULTHANDLE}->close(); } sub getNextEntry { @@ -45,6 +54,8 @@ # open result! } else { $self->{entry_count} = 0; + $self->{open} = 1; + return $self->{RESULTHANDLE}->execute() if $self->{resulthandle_type} eq 'Tangram::Cursor'; #print Dumper($self->{RESULTHANDLE}->members()); exit; @@ -53,7 +64,6 @@ $self->{members} = \@members; return $self->{members}->[$self->{entry_count}]; } - $self->{open} = 1; } } @@ -61,11 +71,14 @@ my $self = shift; my $status; if ($self->{resulthandle_type} eq 'Tangram::Cursor') { +=pod + print Dumper($self->{RESULTHANDLE}); $status = { err => $self->{RESULTHANDLE}->err, errstr => $self->{RESULTHANDLE}->errstr, state => $self->{RESULTHANDLE}->state, }; +=cut } if ($self->{resulthandle_type} eq 'Set::Object') { #print Dumper($self->{RESULTHANDLE}->members());