Commit e48f88ce authored by Rebecca Blundell's avatar Rebecca Blundell Committed by Robert Lyon
Browse files

Bug 1845228: Make Mahara work with mysql 8.0.17

-Add mysql reserved words 'array' and 'member'
-Remove deprecated ||, &&, ! and replace with OR, AND, NOT
Note: Use of || is deprecated unless the PIPES_AS_CONCAT SQL mode is
enabled. In that case, || signifies the SQL-standard string
concatenation operator
-Quote uses of member in SQL queries
Note: when passed in as a variable it is quoted on query construction

behatnotneeded

Change-Id: I860bac5c44dab206b70a78215a5784e6f1fe3928
parent 22ba31db
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ if (empty($institution) && empty($emptygroups) && empty($beforedate) && empty($o
}

// Find all the groups we need to deal with based on the params provided
$selectsql = "SELECT g.id, g.name, 0 AS totaladmins, 0 AS totalmembers, g.mtime, NULL AS member FROM {group} g";
$selectsql = "SELECT g.id, g.name, 0 AS totaladmins, 0 AS totalmembers, g.mtime, NULL AS \"member\" FROM {group} g";
$joinsql = "";
$unionsql = "";
$wheresql = " WHERE g.id != 0";  // dummy where to make things easier
@@ -165,7 +165,7 @@ if ($emptygroups && $onlyadmins) {
                   (SELECT gm3.member
                    FROM {group_member} gm3
                    WHERE gm3.group = gm.group
                    LIMIT 1) AS member
                    LIMIT 1) AS \"member\"
                   FROM {group} ag
                   JOIN {group_member} gm ON gm.group = ag.id";
    $unionwheresql = " WHERE ag.id != 0";
+1 −1
Original line number Diff line number Diff line
@@ -363,7 +363,7 @@ class PluginArtefactInternal extends PluginArtefact {
            case 'joingroup':
                $sql = "SELECT COUNT(*) AS completed
                         FROM {group_member}
                       WHERE member = ?";
                       WHERE \"member\" = ?";
                $count = get_records_sql_array($sql, array($USER->get('id')));
                $meta->completed = $count[0]->completed;
                break;
+2 −2
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ $initialgroups = array('add' => array(), 'invite' => array());
     *           );
*/
$controlled = get_records_sql_array("SELECT g.*, gm.role,
          (SELECT 1 FROM {group_member} gm1 WHERE gm1.member = ? AND gm1.group = g.id) AS member,
          (SELECT 1 FROM {group_member} gm1 WHERE gm1.member = ? AND gm1.group = g.id) AS \"member\",
          (SELECT gm1.role FROM {group_member} gm1 WHERE gm1.member = ? AND gm1.group = g.id) AS memberrole
          FROM {group} g
          JOIN {group_member} gm ON (gm.group = g.id)
@@ -76,7 +76,7 @@ if ($controlled) {
*/
$invite = get_records_sql_array("SELECT g.*, gm.role,
        (SELECT 1 FROM {group_member_invite} gi WHERE gi.member = ? AND gi.group = g.id) AS invited,
        (SELECT 1 FROM {group_member} gm1 WHERE gm1.member = ? AND gm1.group = g.id) AS member
        (SELECT 1 FROM {group_member} gm1 WHERE gm1.member = ? AND gm1.group = g.id) AS \"member\"
        FROM {group} g
        JOIN {group_member} gm ON (gm.group = g.id)
        WHERE gm.member = ?
+1 −1
Original line number Diff line number Diff line
@@ -1495,7 +1495,7 @@ function group_denyuser_submit(Pieform $form, $values) {
        $SESSION->add_error_msg(get_string('accessdenied', 'error'));
        redirect('/group/members.php?id=' . $group . '&membershiptype=request');
    }
    delete_records('group_member_request', 'group', $values['group'], 'member', $values['member']);
    delete_records('group_member_request', 'group', $values['group'], 'member', $values["member"]);
    $SESSION->add_ok_msg(get_string('declinerequestsuccess', 'group'));
    if (count_records('group_member_request', 'group', $group)) {
        redirect('/group/members.php?id=' . $group . '&membershiptype=request');
+2 −2
Original line number Diff line number Diff line
@@ -273,7 +273,7 @@ class XMLDBmysqli extends XMLDBGenerator {
    /// and https://mariadb.com/kb/en/mariadb/reserved-words/
        $reserved_words = array (
            'accessible', 'add', 'admin', 'all', 'alter', 'analyze', 'and',
            'as', 'asc',
            'array', 'as', 'asc',
            'asensitive', 'before', 'between', 'bigint', 'binary',
            'blob', 'both', 'by', 'call', 'cascade', 'case', 'change',
            'char', 'character', 'check', 'collate', 'column', 'columns',
@@ -301,7 +301,7 @@ class XMLDBmysqli extends XMLDBGenerator {
            'lock', 'long', 'longblob', 'longtext', 'loop', 'low_priority',
            'master_bind',
            'master_heartbeat_period', 'master_ssl_verify_server_cert',
            'match', 'maxvalue', 'mediumblob', 'mediumint', 'mediumtext',
            'match', 'maxvalue', 'mediumblob', 'mediumint', 'mediumtext', 'member',
            'middleint', 'minute_microsecond', 'minute_second',
            'mod', 'modifies', 'natural', 'not', 'no_write_to_binlog',
            'nth_value', 'ntile',
Loading