You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Checking for MySQL error codes (via preg_match) are sprinkled in places in the code. (i.e., core/Updater.php, core/Updates/*.php, Dashboard.php, ExampleFeedburner.php, Installation/Controller.php, LanguagesManager.php)
To assist the non-MySQL Piwik ports, we should switch the detection to SQL codes, e.g.,
'/1146/' becomes '/[42S02]/'
'/1054/' becomes '/]42S22]/'
Throwing custom exceptions would be a nice-to-have, e.g.,
Piwik_Db_TableNotFound
Piwik_Db_ColumnNotFound
The text was updated successfully, but these errors were encountered:
It looks like the 5 character SQLSTATE isn't as "standard" as documented, e.g., for "table already exists", MySQL uses 1050 and 42S01, while Postgresql uses 42P07 (referencing klando's changes).
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
Checking for MySQL error codes (via preg_match) are sprinkled in places in the code. (i.e., core/Updater.php, core/Updates/*.php, Dashboard.php, ExampleFeedburner.php, Installation/Controller.php, LanguagesManager.php)
To assist the non-MySQL Piwik ports, we should switch the detection to SQL codes, e.g.,
Throwing custom exceptions would be a nice-to-have, e.g.,
The text was updated successfully, but these errors were encountered: