Re: [PDO] Breaking the PDO API

[email protected] (Wez Furlong) Wed, 15 Apr 2009 19:38:12 -0400
Newsgroups php.pecl.dev,php.pdo
Message-ID <[email protected]>
I found the patch... can you explain the nature of the crash and which  
driver(s) it affects?
Your patch is huge, and it seems to me that the right fix is to  
prevent drivers from returning empty strings when the expectation is a  
LOB; either return NULL or make a LOB with no content.

--Wez.

On Apr 15, 2009, at 7:11 PM, Matteo Beccati wrote:

> 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
>
> -- 
> PDO Working Group Mailing List (http://pdo.php.net)
> To unsubscribe, visit: http://www.php.net/unsub.php
>