Now both check_constraint_exists() and find_check_constraint_name()

are working under mysql, postgresql and mssql. 1st step of MDL-9356
This commit is contained in:
stronk7
2007-09-10 22:42:04 +00:00
parent faa1a939f0
commit af1192b159
+9 -5
View File
@@ -517,7 +517,7 @@ function find_check_constraint_name($table, $field) {
/// Do this function silenty (to avoid output in install/upgrade process)
$olddbdebug = $db->debug;
//$db->debug = false;
$db->debug = false;
/// Check the table exists
if (!table_exists($table)) {
@@ -538,13 +538,17 @@ function find_check_constraint_name($table, $field) {
/// Calculate the name of the table
$tablename = $generator->getTableName($table, false);
/// Get list of check_constraints in table
/// Get list of check_constraints in table/field
$checks = null;
if ($checks = $generator->getCheckConstraintsFromDB($table, $field)) {
$checks = array_change_key_case($checks, CASE_LOWER);
if ($objchecks = $generator->getCheckConstraintsFromDB($table, $field)) {
/// Get only the 1st element. Shouldn't be more than 1 under XMLDB
$objcheck = array_shift($objchecks);
if ($objcheck) {
$checks = strtolower($objcheck->name);
}
}
/// Arriving here, index not found
/// Arriving here, check not found
$db->debug = $olddbdebug; //Re-set original $db->debug
return $checks;
}