Skip to content

Commit

Permalink
Now both check_constraint_exists() and find_check_constraint_name()
Browse files Browse the repository at this point in the history
are working under mysql, postgresql and mssql. 1st step of MDL-9356
  • Loading branch information
stronk7 committed Sep 10, 2007
1 parent faa1a93 commit af1192b
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions lib/ddllib.php
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand All @@ -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;
}
Expand Down

0 comments on commit af1192b

Please sign in to comment.