On Mon, 12 Mar 2007 14:00:32 +0000 Joe Orton <[EMAIL PROTECTED]> wrote:
> > The intention was that apr_dbd_internal.h should be used by DBD > > drivers but opaque to applications. > > > > Is there a better way to express that, that'll properly support > > out-of-tree drivers? > > I'd say: > > 1) Move the apr_dbd_internal.h header out of the private/ subdirectory > and give call it something other than "_internal.h" I guess that means relegating "don't use this in anything other than a driver" to a comment and the documentation? > 2) Commit to API/ABI stability in the driver interface; stuff like > r508700 would subsequently require a major version bump That should be less of an issue now than when it was very new. > 3) Enforce ABI versioning at DSO load time e.g. using magic at the > beginning of the driver structure +1. I wonder if we could extend that to database versions too, where there are minor but important API version differences, and #ifdefs (as between MySQL 4.1 and 5.0). -- Nick Kew Application Development with Apache - the Apache Modules Book http://www.apachetutor.org/