diff --git a/enrol/database/tests/sync_test.php b/enrol/database/tests/sync_test.php index 7b93cb4bbd7..7f918eeec64 100644 --- a/enrol/database/tests/sync_test.php +++ b/enrol/database/tests/sync_test.php @@ -73,7 +73,11 @@ class enrol_database_testcase extends advanced_testcase { case 'pgsql_native_moodle_database': set_config('dbtype', 'postgres7', 'enrol_database'); - set_config('dbsetupsql', "SET NAMES 'UTF-8'", 'enrol_database'); + $setupsql = "SET NAMES 'UTF-8'"; + if (!empty($CFG->dboptions['dbschema'])) { + $setupsql .= "; SET search_path = '".$CFG->dboptions['dbschema']."'"; + } + set_config('dbsetupsql', $setupsql, 'enrol_database'); set_config('dbsybasequoting', '0', 'enrol_database'); if (!empty($CFG->dboptions['dbsocket']) and ($CFG->dbhost === 'localhost' or $CFG->dbhost === '127.0.0.1')) { if (strpos($CFG->dboptions['dbsocket'], '/') !== false) { @@ -107,11 +111,7 @@ class enrol_database_testcase extends advanced_testcase { $dbman->drop_table($table); } $dbman->create_table($table); - if (!empty($CFG->dboptions['dbschema'])) { - set_config('remoteenroltable', $CFG->dboptions['dbschema'].'.'.$CFG->prefix.'enrol_database_test_enrols', 'enrol_database'); - } else { - set_config('remoteenroltable', $CFG->prefix.'enrol_database_test_enrols', 'enrol_database'); - } + set_config('remoteenroltable', $CFG->prefix.'enrol_database_test_enrols', 'enrol_database'); set_config('remotecoursefield', 'courseid', 'enrol_database'); set_config('remoteuserfield', 'userid', 'enrol_database'); set_config('remoterolefield', 'roleid', 'enrol_database'); @@ -127,11 +127,7 @@ class enrol_database_testcase extends advanced_testcase { $dbman->drop_table($table); } $dbman->create_table($table); - if (!empty($CFG->dboptions['dbschema'])) { - set_config('newcoursetable', $CFG->dboptions['dbschema'].'.'.$CFG->prefix.'enrol_database_test_courses', 'enrol_database'); - } else { - set_config('newcoursetable', $CFG->prefix.'enrol_database_test_courses', 'enrol_database'); - } + set_config('newcoursetable', $CFG->prefix.'enrol_database_test_courses', 'enrol_database'); set_config('newcoursefullname', 'fullname', 'enrol_database'); set_config('newcourseshortname', 'shortname', 'enrol_database'); set_config('newcourseidnumber', 'idnumber', 'enrol_database'); diff --git a/lib/dml/pgsql_native_moodle_database.php b/lib/dml/pgsql_native_moodle_database.php index c5580cdba08..5783972a9bf 100644 --- a/lib/dml/pgsql_native_moodle_database.php +++ b/lib/dml/pgsql_native_moodle_database.php @@ -185,7 +185,7 @@ class pgsql_native_moodle_database extends moodle_database { } // Select schema if specified, otherwise the first one wins. - if (isset($this->dboptions['dbschema'])) { + if (!empty($this->dboptions['dbschema'])) { $sql .= "SET search_path = '".$this->dboptions['dbschema']."'; "; }