3 |
# $Id$ |
# $Id$ |
4 |
# |
# |
5 |
# $Log$ |
# $Log$ |
6 |
|
# Revision 1.7 2003/06/25 22:59:59 joko |
7 |
|
# tweaked behaviour: only "->close" result if it is of type "Tangram::Cursor" |
8 |
|
# |
9 |
# Revision 1.6 2003/04/09 07:11:01 joko |
# Revision 1.6 2003/04/09 07:11:01 joko |
10 |
# minor fix |
# minor fix |
11 |
# |
# |
39 |
|
|
40 |
sub DESTROY { |
sub DESTROY { |
41 |
my $self = shift; |
my $self = shift; |
42 |
|
|
43 |
|
my $is_object = 0; |
44 |
|
|
45 |
#$logger->debug( __PACKAGE__ . "->" . "DESTROY" ); |
#$logger->debug( __PACKAGE__ . "->" . "DESTROY" ); |
46 |
$self->{RESULTHANDLE} && $self->{RESULTHANDLE}->can('close') && $self->{RESULTHANDLE}->close(); |
#eval { |
47 |
|
#print "ref: ", ref($self->{RESULTHANDLE}), "\n"; |
48 |
|
|
49 |
|
# object handle destructor |
50 |
|
if ($self->{resulthandle_type} eq 'Tangram::Cursor') { |
51 |
|
#$self->{RESULTHANDLE} && ref($self->{RESULTHANDLE}) && |
52 |
|
#ref($self->{RESULTHANDLE}) && $self->{RESULTHANDLE}->can('close') && $self->{RESULTHANDLE}->close(); |
53 |
|
$self->{RESULTHANDLE}->close(); |
54 |
|
} |
55 |
|
|
56 |
|
# delete ref? |
57 |
|
delete $self->{RESULTHANDLE}; |
58 |
} |
} |
59 |
|
|
60 |
sub getNextEntry { |
sub getNextEntry { |
66 |
# is result already opened? |
# is result already opened? |
67 |
if ($self->{open}) { |
if ($self->{open}) { |
68 |
$self->{entry_count}++; |
$self->{entry_count}++; |
69 |
|
|
70 |
|
# NEW as of 2003-06-24: RESULTHANDLE == ARRAY |
71 |
|
return $self->{RESULTHANDLE}->[$self->{entry_count}] if (ref($self->{RESULTHANDLE}) eq 'ARRAY'); |
72 |
|
|
73 |
return $self->{RESULTHANDLE}->next() |
return $self->{RESULTHANDLE}->next() |
74 |
if $self->{resulthandle_type} eq 'Tangram::Cursor'; |
if $self->{resulthandle_type} eq 'Tangram::Cursor'; |
75 |
return $self->{members}->[$self->{entry_count}] |
return $self->{members}->[$self->{entry_count}] |
80 |
$self->{entry_count} = 0; |
$self->{entry_count} = 0; |
81 |
$self->{open} = 1; |
$self->{open} = 1; |
82 |
|
|
83 |
|
# NEW as of 2003-06-24: RESULTHANDLE == ARRAY |
84 |
|
return $self->{RESULTHANDLE}->[$self->{entry_count}] if (ref($self->{RESULTHANDLE}) eq 'ARRAY'); |
85 |
|
|
86 |
return $self->{RESULTHANDLE}->execute() |
return $self->{RESULTHANDLE}->execute() |
87 |
if $self->{resulthandle_type} eq 'Tangram::Cursor'; |
if $self->{resulthandle_type} eq 'Tangram::Cursor'; |
88 |
#print Dumper($self->{RESULTHANDLE}->members()); exit; |
#print Dumper($self->{RESULTHANDLE}->members()); exit; |