summaryrefslogtreecommitdiff
path: root/ext/pdo/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pdo/TODO')
-rwxr-xr-xext/pdo/TODO97
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:
+