Thanks!
Tim.
On Mon, Sep 03, 2001 at 01:06:23PM +0100, [EMAIL PROTECTED] wrote:
> I think this could be considered a bug in DBD::AdabasD or in the proxy
> server code.
>
> DBI::ProxyServer::st::fetch() calls fetchall_arrayref(). This can
> cause and infinite recursion and indeed does so with DBD::AdabasD.
>
> Fix is trivial, and for consistancy I also modifed table info to use
> SUPER::fetch() rather than fetchall_arrayref().
>
> BTW: Is this the right place to post bugfixes?
>
> *** ProxyServer.pm
> --- ProxyServer.pm
> ***************
> *** 289,295 ****
> # DBI::st and not DBI::ProxyServer::st. We could fix this by permitting
> # the client to execute method DBI::st, but I don't like this.
> my @rows;
> ! while (my $row = $sth->fetchrow_arrayref()) {
> push(@rows, [@$row]);
> }
> ($numFields, $names, $types, @rows);
> --- 289,295 ----
> # DBI::st and not DBI::ProxyServer::st. We could fix this by permitting
> # the client to execute method DBI::st, but I don't like this.
> my @rows;
> ! while (my $row = $sth->SUPER::fetch()) {
> push(@rows, [@$row]);
> }
> ($numFields, $names, $types, @rows);
> ***************
> *** 330,336 ****
> sub fetch {
> my $sth = shift; my $numRows = shift || 1;
> my($ref, @rows);
> ! while ($numRows-- && ($ref = $sth->fetchrow_arrayref())) {
> push(@rows, [@$ref]);
> }
> @rows;
> --- 330,336 ----
> sub fetch {
> my $sth = shift; my $numRows = shift || 1;
> my($ref, @rows);
> ! while ($numRows-- && ($ref = $sth->SUPER::fetch())) {
> push(@rows, [@$ref]);
> }
> @rows;
>
> --
> \\ ( )
> . _\\__[oo
> .__/ \\ /\@
> . l___\\
> # ll l\\
> ###LL LL\\