--- nfo/perl/libs/Data/Storage/Result/Tangram.pm 2002/11/29 04:55:45 1.1 +++ nfo/perl/libs/Data/Storage/Result/Tangram.pm 2002/12/05 08:01:26 1.2 @@ -1,8 +1,11 @@ ############################################ # -# $Id: Tangram.pm,v 1.1 2002/11/29 04:55:45 joko Exp $ +# $Id: Tangram.pm,v 1.2 2002/12/05 08:01:26 joko Exp $ # # $Log: Tangram.pm,v $ +# 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 +# # Revision 1.1 2002/11/29 04:55:45 joko # + initial check-in # @@ -17,7 +20,7 @@ use base ("Data::Storage::Result::Abstract"); use Data::Dumper; - +use Data::Compare::Struct qw( isEmpty ); sub DESTROY { my $self = shift; @@ -39,9 +42,8 @@ return $self->{members}->[$self->{entry_count}] if $self->{resulthandle_type} eq 'Set::Object'; + # open result! } else { - # open result - $self->{open} = 1; $self->{entry_count} = 0; return $self->{RESULTHANDLE}->execute() if $self->{resulthandle_type} eq 'Tangram::Cursor'; @@ -51,9 +53,28 @@ $self->{members} = \@members; return $self->{members}->[$self->{entry_count}]; } + $self->{open} = 1; + } +} + +sub getStatus { + my $self = shift; + my $status; + if ($self->{resulthandle_type} eq 'Tangram::Cursor') { + $status = { + err => $self->{RESULTHANDLE}->err, + errstr => $self->{RESULTHANDLE}->errstr, + state => $self->{RESULTHANDLE}->state, + }; + } + if ($self->{resulthandle_type} eq 'Set::Object') { + #print Dumper($self->{RESULTHANDLE}->members()); + $status = { + empty => isEmpty($self->{RESULTHANDLE}), + }, } + return $status; } -sub getStatus { } 1;