Use adodb "mysqli" instead of "mysql"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mahara |
Fix Released
|
Medium
|
Aaron Wells |
Bug Description
Mahara is currently using the adodb "mysql" driver for MySQL connections. This is based on an older PHP library which is no longer in active development and lacks certain features, most notably transactions (see for instance https:/
We should probably switch to the adodb "mysqli" driver, which is built on the newer mysqli PHP library and *does* support transactions.
There are two ways we could go about this gracefully:
1. When a user supplies the string "mysql5" in their config.php file, we could silently interpret this to mean that they want to use the "mysqli" driver. (We could alternately provide some other way to indicate they want to use the older "mysql" library if we really want to support it.)
2. OR, we could show the admin a warning message after they upgrade/install, which tells them they should really change the "mysql5" in their config.php to "mysqli".
I support option #1. Given that we only support mysql and postgres, there's no reason we shouldn't abstract away the connection between config.php and the name of the underlying adodb driver. (For that matter, we should probably change the recommended dbtypes from "mysql5" and "postgres8" to just "mysql" and "postgres").
Changed in mahara: | |
milestone: | none → 1.8.0rc1 |
importance: | Undecided → Medium |
status: | New → Triaged |
description: | updated |
tags: | added: adodb dmllib |
tags: | added: mysql |
Changed in mahara: | |
status: | Confirmed → Fix Committed |
Changed in mahara: | |
milestone: | 1.8rc1 → 1.8.0 |
Changed in mahara: | |
status: | Fix Committed → Fix Released |
https:/ /reviews. mahara. org/2477