Annotation of embedaddon/php/ext/pdo/TODO, revision 1.1.1.2

1.1.1.2 ! misho       1: $Id$
1.1       misho       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>