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]