@robocoder opened this Issue on September 12th 2009 Contributor

How are people going to use it if they don't know about it (or read the FAQ)?

@mattab commented on September 12th 2009 Member

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.


@robocoder commented on September 12th 2009 Contributor

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
@robocoder commented on September 12th 2009 Contributor

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.

@robocoder commented on September 18th 2009 Contributor

In [1473]:

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

This Issue was closed on September 18th 2009
Powered by GitHub Issue Mirror