On Fri, Feb 10, 2012 at 03:27:24PM +0000, Dave Mitchell wrote:
> The second patch, which makes DBIS more efficient, is a lot more complex,
> and more likely to break things (especially as it's changing a bunch of
> macros that are directly #included by the DBD drivers. You may need to
> bump API version numbers; I don't understand that bit.
I'm concerned that changing the API, and thus forcing all compiled
drivers to be recompiled at the same time the DBI is installed,
isn't worth the gain. Especially as drivers shouldn't be using DBIS in
any hot code anyway.
However, I'd still like to make the change. So I'm thinking it might be
best to support *both* mechanisms for at least a few releases before
removing the old one. The gives end users a "safe zone" where they
can upgrade the DBI and then later upgrade compiled drivers after
they've been changed.
Would you be okay with reworking the change along those lines?
Meanwhile, I'll apply your other more recent patches.
> The big saving between (2) and (3) is due to DBD::mysql still using DBIS;
> in particular, for every fetch call.
It turns out DBD::Pg does as well! I hope to fix that shortly.