On 19/01/2011 6:47 AM, Tim Bunce wrote:
As usual very sage advice Tim.
I'm sorry to arrive here late. Seems I've been missing all the fun!
Some observations:
- I think it's reasonable for execute_array() and execute_for_fetch()
to return an error (ie err() true and so trigger RaiseError etc.)
if execution of any of the tuples encountered an error.
It looking more and more that this should of been the case in
DBD::Oracle still have some reading to do on it though.
- That'll need a spec clarification and a clear warning in Changes.
- We should avoid breaking existing batch apps that use DBD::Oracle.
- I'm hopeful that the above change wouldn't. (John?)
- We should review other database APIs that provide batch execution
in order to spec a reasonable common subset behaviour for the DBI.
I have yet to find one but I haven't look very hard
- Clearly we should bring DBD::Oracle, the DBI default behaviour, and the
DBI spec into agreement with each other.
The question being is it the default behaviour from 1999 Oracle 8 or
today's 11g ? ;)
- We *really* need a way to share tests across drivers.
Perhaps something like a separate DBI::TestSuite distro that the DBI
and drivers could have as a prerequisite. That would contain tests in
modules. The DBI and DBDs would have a test file that uses the
DBI::TestSuite module and calls a function that runs the tests.
This issue could provide the first test.
Tim.