rfc:pdov1
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:pdov1 [2008/05/07 17:57] – reorganized for better clarity lsmith | rfc: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 < | * Author: Lukas Smith < | ||
- | * Status: | + | * Status: |
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 18: | Line 18: | ||
A lot in PDO can be fixed without a new major version. | A lot in PDO can be fixed without a new major version. | ||
- | |||
===== Proposal and Patch ===== | ===== Proposal and Patch ===== | ||
Line 29: | Line 28: | ||
* Add limited sub select emulation (see [[http:// | * Add limited sub select emulation (see [[http:// | ||
* 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/ | * Fix differences in when bind/ | ||
* 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 |
* 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:: | * Add support for PDO:: | ||
* Add support for datatypes like float and datetime/ | * Add support for datatypes like float and datetime/ | ||
* 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:// | ||
* 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 | + | * Add ability to retrieve the parameters set in the constructor (like DSN etc.) |
+ | * Add ability to determine the state of the connection/ | ||
* 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, | * OCI8 has some persistent connection tuning parameters like timeout, max_connections, | ||
Line 47: | 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/ | * For consistency it would be good to clear errors on every call and provide facility to expose multiple notices/ | ||
* 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 60: | Line 63: | ||
==== More about PDO ==== | ==== More about PDO ==== | ||
- | * http:// | + | * http:// |
+ | * http:// | ||
+ | * http:// | ||
==== References ==== | ==== References ==== |
rfc/pdov1.1210183023.txt.gz · Last modified: 2017/09/22 13:28 (external edit)