wez Fri Nov 25 02:23:55 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/pdo TODO Log: Update the TODO list. http://cvs.php.net/diff.php/php-src/ext/pdo/TODO?r1=1.6&r2=1.6.2.1&ty=u Index: php-src/ext/pdo/TODO diff -u php-src/ext/pdo/TODO:1.6 php-src/ext/pdo/TODO:1.6.2.1 --- php-src/ext/pdo/TODO:1.6 Sun Feb 6 16:05:59 2005 +++ php-src/ext/pdo/TODO Fri Nov 25 02:23:55 2005 @@ -1,21 +1,93 @@ -$Id: TODO,v 1.6 2005/02/06 21:05:59 wez Exp $ +$Id: TODO,v 1.6.2.1 2005/11/25 07:23:55 wez Exp $ -In no particular order: +Roadmap for PDO -Probable Bugs: -- persistent connections with bound parameters might segv on subsequent - requests +Core, version 1.1: +================== -Low-level: + - Separate the handle factory call into two phases: + - handle creation + - connecting -- $dbh->quote() -- LOB support via Streams API -- make errors generated at the pdo level (as opposed to driver level) use the - selected error mode. + This would then allow PDO to call setAttribute() + for each driver option specified in the constructor. + Right now, the handling of driver attributes is a bit sloppy. -Not-so-low-level: -- fetchAll(), single row, single column fetches etc. + - Add: + pdo.max_persistent + pdo.persistent_timeout + pdo.ping_interval -Could be more... + with the same meanings as those options from oci8. + + - BLOB/CLOB. + Investigate the various APIs to determine if we can + transparently map BLOBs and CLOBs as PDO_PARAM_LOB. + If the API needs hints from the client side, we need + to introduce a PDO_PARAM_CLOB to differentiate between + binary and character data. + + - Character set selection. + Generalize/standardize this. + + - meta data. + Formalize getColumnMeta(). + Look at retrieving lists of tables and other objects in the db. + + - tracing/logging/debugging + Add ini options: + + pdo.trace_file + pdo.enable_tracing + + And corresponding attributes, ATTR_TRACE_FILE, ATTR_TRACING_ENABLE, + settable at dbh and stmt levels independently. If set at the dbh level, + the stmt will inherit its value. If not set explicitly in code, the + defaults for the dbh will come from the INI settings. + + ATTR_TRACE_FILE will accept a string or a stream. + + The INI options are useful for administrative tracing/debugging. + Trace mode will output very verbose info. + + +General DB API Roundup: +========= + Consider how the following can be implemented in PDO: + + mysqli_change_user(); alters auth credentials on a live connection + mysqli_info(); info about rows affected by last query + mysqli_master_query(); force query to run on master + mysqli_ping(); ping / reconnect + mysqli_stat(); one line summary of server status + + oci_password_change() + + Also consider master/slave and/or failover server configuration. + + +Postgres: +========= + + - Real large object support. + - Someone with more pgsql experience can suggest more features + +Oracle: +======= + + - Support for array types and collections. + +Userspace PDO Driver: +===================== + + - Will be hard. + +PDO Session module: +=================== + + - Is it worth writing in C? + Probably not. + + +vim:se et ts=2 sw=2 tw=78: -vim:tw=78:et
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php