From 92b00c32a7df05371764e4ef2c029414498021f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Thu, 10 Jan 2013 11:42:22 +0100 Subject: [PATCH] MDL-37420 rework pg schema testing --- auth/db/tests/db_test.php | 12 ++++++------ enrol/database/tests/sync_test.php | 18 +++++++----------- lib/dml/pgsql_native_moodle_database.php | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/auth/db/tests/db_test.php b/auth/db/tests/db_test.php index 9ca69bc20c6..1be135507b7 100644 --- a/auth/db/tests/db_test.php +++ b/auth/db/tests/db_test.php @@ -72,7 +72,11 @@ class auth_db_testcase extends advanced_testcase { case 'pgsql_native_moodle_database': set_config('type', 'postgres7', 'auth/db'); - set_config('setupsql', "SET NAMES 'UTF-8'", 'auth/db'); + $setupsql = "SET NAMES 'UTF-8'"; + if (!empty($CFG->dboptions['dbschema'])) { + $setupsql .= "; SET search_path = '".$CFG->dboptions['dbschema']."'"; + } + set_config('setupsql', $setupsql, 'auth/db'); set_config('sybasequoting', '0', 'auth/db'); if (!empty($CFG->dboptions['dbsocket']) and ($CFG->dbhost === 'localhost' or $CFG->dbhost === '127.0.0.1')) { if (strpos($CFG->dboptions['dbsocket'], '/') !== false) { @@ -104,11 +108,7 @@ class auth_db_testcase extends advanced_testcase { $dbman->drop_table($table); } $dbman->create_table($table); - if (!empty($CFG->dboptions['dbschema'])) { - set_config('table', $CFG->dboptions['dbschema'].'.'.$CFG->prefix.'auth_db_users', 'auth/db'); - } else { - set_config('table', $CFG->prefix.'auth_db_users', 'auth/db'); - } + set_config('table', $CFG->prefix.'auth_db_users', 'auth/db'); set_config('fielduser', 'name', 'auth/db'); set_config('fieldpass', 'pass', 'auth/db'); diff --git a/enrol/database/tests/sync_test.php b/enrol/database/tests/sync_test.php index aac8a7630e3..014de06ee3c 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']."'; "; }