Do not try to delete an internal relation if we just deleted an InnoDB one
This commit is contained in:
@@ -18,15 +18,13 @@ include_once 'pmd_save_pos.php';
|
||||
list($DB1,$T1) = explode(".",$T1);
|
||||
list($DB2,$T2) = explode(".",$T2);
|
||||
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++ InnoDB ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
|
||||
$tables = PMA_DBI_get_tables_full($db, $T1);
|
||||
$type_T1 = strtoupper($tables[$T1]['ENGINE']);
|
||||
$tables = PMA_DBI_get_tables_full($db, $T2);
|
||||
$type_T2 = strtoupper($tables[$T2]['ENGINE']);
|
||||
|
||||
if ($type_T1 == 'INNODB' && $type_T2 == 'INNODB') {
|
||||
// InnoDB
|
||||
$existrel_innodb = PMA_getForeigners($DB2, $T2, '', 'innodb');
|
||||
|
||||
if (PMA_MYSQL_INT_VERSION >= 40013 && isset($existrel_innodb[$F2]['constraint'])) {
|
||||
@@ -35,11 +33,9 @@ if ($type_T1 == 'INNODB' && $type_T2 == 'INNODB') {
|
||||
. PMA_backquote($existrel_innodb[$F2]['constraint']);
|
||||
$upd_rs = PMA_DBI_query($upd_query);
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
PMA_query_as_cu('DELETE FROM '.$cfg['Server']['relation'].' WHERE '
|
||||
} else {
|
||||
// internal relations
|
||||
PMA_query_as_cu('DELETE FROM '.$cfg['Server']['relation'].' WHERE '
|
||||
. 'master_db = \'' . PMA_sqlAddslashes($DB2) . '\''
|
||||
. 'AND master_table = \'' . PMA_sqlAddslashes($T2) . '\''
|
||||
. 'AND master_field = \'' . PMA_sqlAddslashes($F2) . '\''
|
||||
@@ -47,7 +43,7 @@ PMA_query_as_cu('DELETE FROM '.$cfg['Server']['relation'].' WHERE '
|
||||
. 'AND foreign_table = \'' . PMA_sqlAddslashes($T1) . '\''
|
||||
. 'AND foreign_field = \'' . PMA_sqlAddslashes($F1) . '\''
|
||||
, FALSE, PMA_DBI_QUERY_STORE);
|
||||
|
||||
}
|
||||
PMD_return(1, 'strRelationDeleted');
|
||||
|
||||
function PMD_return($b,$ret)
|
||||
@@ -58,4 +54,3 @@ function PMD_return($b,$ret)
|
||||
die('<root act="relation_upd" return="'.$ret.'" b="'.$b.'" K="'.$K.'"></root>');
|
||||
}
|
||||
?>
|
||||
|
||||
|
Reference in New Issue
Block a user