Breaking the PDO API
[email protected] (Matteo Beccati) Thu, 16 Apr 2009 01:11:21 +0200
| Newsgroups | php.pecl.dev,php.pdo |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone, you might have seen my recent PDO related post on internals. If not here's a link: http://news.php.net/php.internals/43663 For those not following I've trying to fix a bug in PDO that is not able to distinguish empty string from streams when a driver returns the LOB content, potentially leading to crashes, but to do so I need a small API change. After some discussion on IRC I've started a related change to make sure that a driver can successfully compile only if it's declared to be compatible with the PDO API version in use. This is especially important for drivers living in pecl, that most likely will crash when compiled against an incompatible API. However I've been recently made aware of a GSoC project to standardise API versioning: http://wiki.php.net/gsoc/2009#abstract_extension_api_and_dependency_interface It would come in very handy and avoid us to reinvent the wheel, but unfortunately its schedule is not quite compatible with the imminent release of PHP 5.3. So, as far as I can tell, we have two choices: 1. just bump the PDO API version and expect that pecl drivers are updated accordingly. This means that pecl PDO drivers can cause crashes until updated. 2. bump the PDO API version and add version checking to prevent compiling any incompatible driver until a new version is released on pecl. If no one screams I'd prefer to avoid adding version checking as it would just be a short term solution, but I'd be glad to get some feedback from the maintainers of the various PDO drivers before making a call. Cheers -- Matteo Beccati OpenX - http://www.openx.org