How are people going to use it if they don't know about it (or read the FAQ)?
how do you see this in the installer? do we need a checkbox (PDO / Mysqli) that defaults to PDO? would this checkbox only show up if we detect that mysqli is installed (otherwise there is no point)?
by the way, it also means that we don't require PDO but we require either PDO or mysqli, which means a little logic has to be updated in the requirements checks.
Right. I've already updated the system check to test for "either" as ok. Ditto for the template.
In FormDatabaseSetup, I add a 'select' element with the available adapters.
Changes to make: - If there's only one choice, make it a hidden element. - CSS styling the select element a bit (eg font size). - #904 mysqli adapter doesn't include the errno in the Exception message
Nice-to-have: move the database-specific system check logic into the adapters. Installation Controller would deep-glob() the adapters, and iterate through them calling a method asking the adapter if its system requirements have been met.
fixes #904 - MySQL error codes; unsupported adapters can map these to driver-specific SQLSTATE fixes #980 - Piwik Installation support for "MySQL Improved" (mysqli) extension fixes #984 - Set client connection charset to utf8.
Fixed tracker profiling data not recorded until after report generated.
More refactoring and database abstraction: - Installation gets a list of adapters instead of hardcoding in the plugin - checking for database-specific system requirements deferred to the adapter - error detection moved to adapter but we still use MySQL error codes rather than defining new constants
Note: unit tests don't run with MYSQLI -- Zend Framework's Mysqli adapater doesn't support prepare() yet