rfc:pdov1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:pdov1 [2008/05/07 18:00] – reorganized for better clarity lsmithrfc:pdov1 [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 3: Line 3:
   * Date: 2008-03-06   * Date: 2008-03-06
   * Author: Lukas Smith <smith@pooteeweet.org>   * Author: Lukas Smith <smith@pooteeweet.org>
-  * Status: In the works+  * Status: Draft (Inactive)
  
 This RFC aims to collect a set of ideas to improve PDO version 1. These ideas will hopefully end up in a set of concret feature requests and patches. This RFC aims to collect a set of ideas to improve PDO version 1. These ideas will hopefully end up in a set of concret feature requests and patches.
Line 28: Line 28:
     * Add limited sub select emulation (see [[http://pear.php.net/package/MDB2/docs/latest/MDB2/MDB2_Driver_Common.html#methodsubSelect|subSelect()]])     * Add limited sub select emulation (see [[http://pear.php.net/package/MDB2/docs/latest/MDB2/MDB2_Driver_Common.html#methodsubSelect|subSelect()]])
     * A class for administrative functionality which can come in handy for projects like phpMyAdmin. (possibly partially in userland)     * A class for administrative functionality which can come in handy for projects like phpMyAdmin. (possibly partially in userland)
 +    * Nested transaction emulation via SAVEPOINTs
 +    * Emulate scrollable cursors via buffered result sets
   * Prepared statements   * Prepared statements
     * Fix differences in when bind/prepare issues an exception for an invalid bound value/parameter.     * Fix differences in when bind/prepare issues an exception for an invalid bound value/parameter.
     * Add ability to bind short binary values     * Add ability to bind short binary values
     * Improve the prepared statement emulation parser to better deal with quoted strings that contain things that look like a placeholder     * Improve the prepared statement emulation parser to better deal with quoted strings that contain things that look like a placeholder
-    * Make it possible to disable parsing and rewriting of placeholders and require the use of the given native syntax+    * Make it possible to disable parsing and rewriting of placeholders and require the use of the given native syntax (:name, $name, ? etc.)
     * Fix the problems with ODBC prepared statements when executing procedures on all platforms.     * Fix the problems with ODBC prepared statements when executing procedures on all platforms.
     * Add support for PDO::PARAM_CLOB and generally work harder on making the LOB behavior more similar across the drivers (see [[http://pecl.php.net/bugs/bug.php?id=7943|Bug 7943]])     * Add support for PDO::PARAM_CLOB and generally work harder on making the LOB behavior more similar across the drivers (see [[http://pecl.php.net/bugs/bug.php?id=7943|Bug 7943]])
     * Add support for datatypes like float and datetime/timestamp     * Add support for datatypes like float and datetime/timestamp
     * Do not force the use of prepared statements internally for simple queries without any parameters     * Do not force the use of prepared statements internally for simple queries without any parameters
 +    * Optionally only use native prepared statement for SQL injection protection, but leverage the ability of some RDBMS to pass the [http://pooteeweet.org/blog/1233 statement and the values in a single call]
   * Improve documentation   * Improve documentation
   * Add support of multiple resultsets for mssql and odbc on all platforms.   * Add support of multiple resultsets for mssql and odbc on all platforms.
-  * Add ability to retrieve the parameters set in the constructor (like DSN etc.)determine the state of the connection and reconnect if necessary+  * Add ability to retrieve the parameters set in the constructor (like DSN etc.) 
 +  * Add ability to determine the state of the connection/transactions (as well as the ability to reconnect)
   * Make sure PDO classes implement interfaces so that frameworks can use it as a generic data access interface and implement native driver versions of it if needed (esp. PDOStatement).   * Make sure PDO classes implement interfaces so that frameworks can use it as a generic data access interface and implement native driver versions of it if needed (esp. PDOStatement).
   * OCI8 has some persistent connection tuning parameters like timeout, max_connections, ... Make that generic and consistent in PDO.   * OCI8 has some persistent connection tuning parameters like timeout, max_connections, ... Make that generic and consistent in PDO.
Line 46: Line 50:
     * Making quoting function aware of encoding in PDO (add quoting for identifier & value)     * Making quoting function aware of encoding in PDO (add quoting for identifier & value)
   * Improved error handling and debugging   * Improved error handling and debugging
-    * Add some better debugging hooks (like a way to get the last submitted statement, this is important especially when PDO does some rewriting like with prepared statements)+    * Add some better debugging hooks (like a [[bugid@44319|way to get the last submitted statement]], this is important especially when PDO does some rewriting like with prepared statements)
     * For consistency it would be good to clear errors on every call and provide facility to expose multiple notices/errors that have occurred within a transaction     * For consistency it would be good to clear errors on every call and provide facility to expose multiple notices/errors that have occurred within a transaction
     * Throw an exception if a fetch method is call on a statement that has not been executed at least once     * Throw an exception if a fetch method is call on a statement that has not been executed at least once
Line 59: Line 63:
 ==== More about PDO ==== ==== More about PDO ====
  
-  * http://php.net/pdo+  * http://php.net/pdo (userland manual) 
 +  * http://php.net/internals2.pdo (internals manual) 
 +  * http://wiki.php.net/rfc/pdonotices (rfc about database notices which can be handled by PDO)
  
 ==== References ==== ==== References ====
rfc/pdov1.1210183201.txt.gz · Last modified: 2017/09/22 13:28 (external edit)