> 
> My initial purpose for suggesting such a test suite was the 
> initial difficulty I had when I first wrote a DBD: docs were pretty 
> thin, and there was a lot of painful trial and error. And I'm 
> certain I'm *still* not in conformance in a lot of places 
> (esp. as DBI API changes roll out). If each DBI release 
> contained updated conformance tests, DBD authors could simply 
> rerun the latest conformance test against their latest driver 
> and (hopefully) find out empirically where any non-conf's occur. 

Yep... I'd like that too.

> 
> Also, did you mean 
> 
> ..."conformance" and "functional"...
> 
> rather than 
> 
> ..."conformance and "performance"...

Read that as Performing correctly, but since it rhymed, I left it :)

It would be interesting, though, to have benchmarks comparing a loop of 1000
inserts vs execute_array() timing :)

> 
> The latter has implications that aren't neccesarily relevant
> to conformance/correctness (Tho I still believe in
> 'Damn the metadata, FULLSPEED AHEAD!')

But, the metadata is important.  Take a look at DBD::ODBC's test suite
(specifically the .pm file).  It's rudimentary, but it creates tables on
multiple platforms and inserts and verifies the inserts, which can be
painful.

> 
> Conformance can be pretty simplistic, tho I'd like to see 
> thorough coverage (hopefully better coverage than some other 
> conformance suites I've used, e.g., JDBC). Since DBI itself 
> wraps much of the processing of underlying DBDs in its own 
> processing, perhaps 2 conformance suites are needed:
> 
> 1. DBI layer conformance: to test that the end-to-end 
> functionality is correct. This would likely be written 
> entirely in std. DBI/perl doing the usual DBI API calls.
> 
> 2. DBD conformance: this may require more work, but actually
> be a smaller set of tests.
> Essentially, it creates a "pseudo" DBI layer that just 
> exersizes the DBD i/f calls that the DBI layer (as opposed to 
> a DBI app) makes.
> 
> The latter may be more useful for driver writers, while the 
> former is more useful to end-users. Also, some 
> instrumentation for performance might be useful, esp. as 
> driver writers roll out new releases: rerun the conformance 
> test(s), and see where things slowed down or sped up.

Yes... I think we are on the same page.  Although, as I thought about it
more, the correctness being verified by DBI is important to me as a driver
writer too...

Jeff

Reply via email to