Re: PHP ext/PDO future

[email protected] (Lukas Kahwe Smith) Wed, 3 Sep 2008 08:33:36 +0200
Newsgroups php.pdo
Message-ID <[email protected]>
On 01.09.2008, at 16:07, Marius Popa wrote:

> I have read the blog on internals, but i'm a little busy now with  
> the conference (milan will be there too)
> http://www.firebirdconference.net/index.php?option=com_content&task=view&id=3&Itemid=4
> I will send you an response about this , tomorrow i hope

Great to hear you are still interested.

> ps: i guess first step is to write some standard sql tests and it  
> should pass for each database
> in our case firebird
> another bug is we have to fix upstream and push the sql standard at  
> least we can fix/discuss with the open source ones and then push to  
> the others later
> http://troels.arvin.dk/db/rdbms/


There are a couple of different types if differences we have to deal  
with. One is the differences of when errors are triggered for certain  
errors (at prepare vs. execute time). Another one is differences in  
the error codes that are thrown. Here the idea was to push SQLSTATE in  
PDO, but this was a half hearted attempted at this point. Finally  
there is difference in SQL syntax. There are some parts where we will  
get away with standard SQL. There are some areas (like LOBs and to  
some extend prepared statements etc.), where there is simply no  
standard to follow. Other areas where the OSS world has long  
established standards (like LIMIT), which the standard (thanks to the  
proprietary vendors) will not get a conflicting standard. But overall  
yes, the test suite will stress standard SQL.

A final comment on this tough, PDO does not truely try to abstract SQL  
at this point for the most part, and expecting all vendors to start  
standardizing because of their participation in this group is a bit  
unrealistic. So we might in the end still have to include some RDBMS  
specific SQL (though we might decide on a case by case basis to  
include some functionality in PDO to automate this) in the test suite.  
But at the very least the client API's should behave as similar as  
possible.

regards,
Lukas Kahwe Smith
[email protected]