From b47b3c58e01e9ead6d553f60174dff2beebb3752 Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Fri, 10 Jan 2014 01:03:23 +0100 Subject: [PATCH] MDL-36721 make upgrade queries cross-db --- lib/db/upgrade.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index b0f8134cf85..94a6b04ed70 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2870,30 +2870,32 @@ function xmldb_main_upgrade($oldversion) { 'enrol_database/dbpass', 'enrol_ldap/bind_pw', 'url/secretphrase'); foreach ($items as $item) { list($plugin, $name) = explode('/', $item); + $sqlcomparevalue = $DB->sql_compare_text('value'); + $sqlcompareoldvalue = $DB->sql_compare_text('oldvalue'); if ($plugin === 'core') { $sql = "UPDATE {config_log} SET value = :value - WHERE name = :name AND plugin IS NULL AND value <> ''"; - $params = array('value'=>'********', 'name'=>$name); + WHERE name = :name AND plugin IS NULL AND $sqlcomparevalue <> :empty"; + $params = array('value' => '********', 'name' => $name, 'empty' => ''); $DB->execute($sql, $params); $sql = "UPDATE {config_log} SET oldvalue = :value - WHERE name = :name AND plugin IS NULL AND oldvalue <> ''"; - $params = array('value'=>'********', 'name'=>$name); + WHERE name = :name AND plugin IS NULL AND $sqlcompareoldvalue <> :empty"; + $params = array('value' => '********', 'name' => $name, 'empty' => ''); $DB->execute($sql, $params); } else { $sql = "UPDATE {config_log} SET value = :value - WHERE name = :name AND plugin = :plugin AND value <> ''"; - $params = array('value'=>'********', 'name'=>$name, 'plugin'=>$plugin); + WHERE name = :name AND plugin = :plugin AND $sqlcomparevalue <> :empty"; + $params = array('value' => '********', 'name' => $name, 'plugin' => $plugin, 'empty' => ''); $DB->execute($sql, $params); $sql = "UPDATE {config_log} SET oldvalue = :value - WHERE name = :name AND plugin = :plugin AND oldvalue <> ''"; - $params = array('value'=>'********', 'name'=>$name, 'plugin'=>$plugin); + WHERE name = :name AND plugin = :plugin AND $sqlcompareoldvalue <> :empty"; + $params = array('value' => '********', 'name' => $name, 'plugin' => $plugin, 'empty' => ''); $DB->execute($sql, $params); } }