Annotation of embedaddon/php/ext/pdo/TODO, revision 1.1
1.1 ! misho 1: $Id: TODO 240335 2007-07-25 22:26:14Z iliaa $
! 2:
! 3: Roadmap for PDO
! 4:
! 5: Core, version 1.1:
! 6: ==================
! 7:
! 8: - Add PDO::queryParams(), similar to PDO::query(), but accepts
! 9: an array of parameters as the second argument, pushing the remaining
! 10: args (which are args to setFetchMode()) up by one.
! 11:
! 12: - Separate the handle factory call into two phases:
! 13: - handle creation
! 14: - connecting
! 15:
! 16: This would then allow PDO to call setAttribute()
! 17: for each driver option specified in the constructor.
! 18: Right now, the handling of driver attributes is a bit sloppy.
! 19:
! 20: - Add:
! 21: pdo.max_persistent
! 22: pdo.persistent_timeout
! 23: pdo.ping_interval
! 24:
! 25: with the same meanings as those options from oci8.
! 26:
! 27: - BLOB/CLOB.
! 28: Investigate the various APIs to determine if we can
! 29: transparently map BLOBs and CLOBs as PDO_PARAM_LOB.
! 30: If the API needs hints from the client side, we need
! 31: to introduce a PDO_PARAM_CLOB to differentiate between
! 32: binary and character data.
! 33:
! 34: - Character set selection.
! 35: Generalize/standardize this.
! 36:
! 37: - meta data.
! 38: Formalize getColumnMeta().
! 39: Look at retrieving lists of tables and other objects in the db.
! 40:
! 41: - tracing/logging/debugging
! 42: Add ini options:
! 43:
! 44: pdo.trace_file
! 45: pdo.enable_tracing
! 46:
! 47: And corresponding attributes, ATTR_TRACE_FILE, ATTR_TRACING_ENABLE,
! 48: settable at dbh and stmt levels independently. If set at the dbh level,
! 49: the stmt will inherit its value. If not set explicitly in code, the
! 50: defaults for the dbh will come from the INI settings.
! 51:
! 52: ATTR_TRACE_FILE will accept a string or a stream.
! 53:
! 54: The INI options are useful for administrative tracing/debugging.
! 55: Trace mode will output very verbose info.
! 56:
! 57:
! 58: General DB API Roundup:
! 59: =========
! 60: Consider how the following can be implemented in PDO:
! 61:
! 62: mysqli_change_user(); alters auth credentials on a live connection
! 63: mysqli_info(); info about rows affected by last query
! 64: mysqli_master_query(); force query to run on master
! 65: mysqli_ping(); ping / reconnect
! 66: mysqli_stat(); one line summary of server status
! 67:
! 68: oci_password_change()
! 69:
! 70: Also consider master/slave and/or failover server configuration.
! 71:
! 72:
! 73: Postgres:
! 74: =========
! 75:
! 76: - Real large object support.
! 77: - Someone with more pgsql experience can suggest more features
! 78:
! 79: Oracle:
! 80: =======
! 81:
! 82: - Support for array types and collections.
! 83:
! 84: PDO Session module:
! 85: ===================
! 86:
! 87: - Is it worth writing in C?
! 88: Probably not.
! 89:
! 90:
! 91: vim:se et ts=2 sw=2 tw=78:
! 92:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>