diff options
Diffstat (limited to 'ext/pdo/TODO')
-rwxr-xr-x | ext/pdo/TODO | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/ext/pdo/TODO b/ext/pdo/TODO new file mode 100755 index 0000000000..4e46791164 --- /dev/null +++ b/ext/pdo/TODO @@ -0,0 +1,97 @@ +$Id$ + +Roadmap for PDO + +Core, version 1.1: +================== + + - Add PDO::queryParams(), similar to PDO::query(), but accepts + an array of parameters as the second argument, pushing the remaining + args (which are args to setFetchMode()) up by one. + + - Separate the handle factory call into two phases: + - handle creation + - connecting + + 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. + + - Add: + pdo.max_persistent + pdo.persistent_timeout + pdo.ping_interval + + 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: + |