On Fri, Mar 14, 2008 at 08:53:04AM -0400, John Scoles wrote:
> 
> So my proposal is to stub in
> fetch_scroll
> in DBI
> and let the DBD drivers write their own implementation

I'd _much_ rather one or driver implemented the functionality as
driver-private methods before we try to define the DBI by guesswork.

I'd also _much_ rather fetch_scroll() wasn't added until a fallback
implementation existed for it in the DBI. In the same way that
execute_array() and related methods weren't added until there was a
fallback implementation in the DBI.

It can't be that hard to add read-only cursor support.
The guts of it would be something like...
 - A $sth->{FetchedRows} attribute containing an array ref
 - dbih_get_fbav() would see that attribute and instead of
    reusing the same row buffer would allocate a new one and push it
    on the end of the $sth->{FetchedRows} array.
 - fetch_scroll() then just needs to have a concept of 'current row'
   and can use $sth->{Active} to tell if there may be more to fetch.

> This would be the same as "bind_param_inout_array" which is stubbed in but
> not implemented in DBI

That's an (unfortunate) exception to the rule :)

Tim.

Reply via email to