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

Reply via email to