Re: Time to Document Callbacks

Tim Bunce <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
On Wed, Oct 28, 2009 at 10:26:49AM -0700, David E. Wheeler wrote:
> On Oct 28, 2009, at 2:59 AM, Tim Bunce wrote:
>
>> Here's a deal: you write some tests for ChildCallbacks in
>> t/70callbacks.t and I'll implement them.
>
> Deal.

Great. Thanks.

>>> Oh, nice. Does that mean you'll have more time for the DBI?
>>
>> That's the hope.
>
> W00t.

I need to devote time to java2perl6 and other perl6-database-interface
related activities.

>> I'm probably being over-cautious. Most drivers use fetch() or
>> fetchrow_arrayref() as the lowest-level calling method used by the other
>> fetch* ad select* methods. So applying the same callback to both would
>> work find in most cases.
>
> If I'm applying a callback to the "fetch" method, I expect it to execute 
> when I actually call the fetch method on the STH to which I applied it. 
> Reasonable, no? Is there some reason that wouldn't happen? If so, I'd call 
> it a bug in the driver, frankly.

If you're applying a callback to the "fetch" method and then your code
calls fetchrow_hashref, for example, how do you know if the driver's
fetchrow_hashref() method calls fetch() or fetchrow_arrayref()?

The fetch and fetchrow_arrayref method are typically aliased by the
driver, but they're two separate methods from the DBI dispatcher's point
of view.

Applying the same callback to both is a reasonable approach.

Tim.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.