> a) PDO support for most popular DBs. Maybe you can give a status report of > where PDO is today and how much work it still requires? If it requires a > lot of work maybe more people can join the effort. Also is there an online > phpDoc of each DB API one can look at? I've looked at the source code and > at the functionality and it's pretty good but I'll definitely try and look > deeper as we get closer to 5.1.
Feature-wise, it's missing scrollable (eg: random access) cursors and Marcus' iterators (sorry Marcus). We also discussed a change in the error codes to match the standard SQLSTATE codes found in ODBC. There could be a couple of other bits and pieces that I've forgotten for the moment, but nothing major. None of these are particularly huge tasks; a couple of days good hacking will have them wrapped up. Aside from that, PDO is very usable for the most common data access patterns that you are likely to use in PHP. Driver wise, we have a nice collection. The only major driver that we are missing is mysql 4.x (we have 3.x). Documentation-wise, a couple of people I spoke to in Toronto offered to write some docs for PDO, but I haven't heard any news on this yet. > b) New VM architecture, some other core engine changes which have happened > since 5.0.x. > c) Polish some left overs in the OO model from 5.0.x, mainly the access > modifiers (if/when they are allowed to be used). For example, in interfaces > they shouldn't be used. Probably some error handling and bug reports which > still require attention. > d) Finalize the few tiny new features request on the language level from 5.1. - int64_t support in zvals... or some other way of natively handling larger integers without having to dip into floats. I'd prefer the former; this is something that is getting more important now that we have more and more extensions that use 64bit values; mostly database extensions, but also large file support could do with a 64bit type. - large file support in streams. Been discussing this with Edin and Stig recently; the changes are not major, although we would really benefit from a 64bit type for the stat() related functions. This next one is likely to be controversial, but I think we should give it some thought: - unicode support for strings. Tricky topic this one. It would be nice to have some kind of engine level support, but I can't think of a nice way to do it that won't break existing scripts. Instead, it would be nice if we had some kind of "String" class (would be nice to use that as the class name...) that used the overloading features of the engine to make it smell like a regular string. It would be aware of, at least, the most common charset encodings (and perhaps be able to load in tables for others at runtime) and have methods to concatentate, split, index by character position (not byte position) etc. etc. and handle differences in character encodings transparently. This can be developed as a PECL extension for now, but once it matures it would be very nice to see it in the default distribution. I believe that Derick is working on code for transliteration (that just went into PECL CVS) that could also be folded into this. Another tricky topic (implementation wise; the serializer code is nasty): - a better serialization interface for objects. It would be *very* nice if we had a more flexible API to cater for the serialization interfaces found in COM, Java, .Net, Corba etc. While we're at it, maybe we can fix the really poor performance issue I mentioned a while back; it was massively faster to var_export() and eval() a large array than it was to serialize() and deserialize() it. > Depending on the status of PDO it'd be good to have some timeframe for RC1 > just so that we have some soft date to work towards. I move to USA in a week, so the next 2 weeks are going to be a bit busy for me, but I should have a bit more hacking time after the move; PDO should be wrapped up really soon. --Wez. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php