EllisLab/CodeIgniter — pull request #1032 by narfbg (2012-02-12 19:08:10+00:00)
Title: Improve the PDO database driver

Changes include:

- Method/property visibility declarations
- Fixed `_version()` method where it used to return the client version instead of the server one.
- Fixed `insert_id()` method where it could've failed with Postgre.
- Fixed a possible issue from [pull #1026](https://github.com/EllisLab/CodeIgniter/pull/1026).
- Fixed Postgre and SQLite field escaping issue introduced in [pull #1022](https://github.com/EllisLab/CodeIgniter/pull/1022).
- Fixed MySQL charset issue introduced in [pull #1022](https://github.com/EllisLab/CodeIgniter/pull/1022) (charset parameter in DSN is ignored *prior* to PHP 5.3.6, not since).
- Fixed an issue where pre-defined DSNs (supported by ODBC, Oracle, IBM, Informix) wouldn't pass validation.
- Renamed `pdodriver` property to `subdriver` so it can be more convenient to use it with other database drivers like e.g. ODBC.
- Improved support for building DSN strings from configuration settings.
- Improved `CI_DB_pdo_result` by overriding parent methods instead of creating custom ones to be used.
- Speed improvements.