/**
  * Function to get update query for updating internal relations
  *
  * @param array      $multi_edit_columns_name multi edit column names
  * @param array      $destination_db          destination tables
  * @param array      $destination_table       destination tables
  * @param array      $destination_column      destination columns
  * @param array      $cfgRelation             configuration relation
  * @param array|null $existrel                db, table, column
  *
  * @return boolean
  */
 public function updateInternalRelations($multi_edit_columns_name, $destination_db, $destination_table, $destination_column, $cfgRelation, $existrel)
 {
     $updated = false;
     foreach ($destination_db as $master_field_md5 => $foreign_db) {
         $upd_query = null;
         // Map the fieldname's md5 back to its real name
         $master_field = $multi_edit_columns_name[$master_field_md5];
         $foreign_table = $destination_table[$master_field_md5];
         $foreign_field = $destination_column[$master_field_md5];
         if (!empty($foreign_db) && !empty($foreign_table) && !empty($foreign_field)) {
             if (!isset($existrel[$master_field])) {
                 $upd_query = 'INSERT INTO ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['relation']) . '(master_db, master_table, master_field, foreign_db,' . ' foreign_table, foreign_field)' . ' values(' . '\'' . PMA_Util::sqlAddSlashes($this->_db_name) . '\', ' . '\'' . PMA_Util::sqlAddSlashes($this->_name) . '\', ' . '\'' . PMA_Util::sqlAddSlashes($master_field) . '\', ' . '\'' . PMA_Util::sqlAddSlashes($foreign_db) . '\', ' . '\'' . PMA_Util::sqlAddSlashes($foreign_table) . '\',' . '\'' . PMA_Util::sqlAddSlashes($foreign_field) . '\')';
             } elseif ($existrel[$master_field]['foreign_db'] != $foreign_db || $existrel[$master_field]['foreign_table'] != $foreign_table || $existrel[$master_field]['foreign_field'] != $foreign_field) {
                 $upd_query = 'UPDATE ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['relation']) . ' SET foreign_db       = \'' . PMA_Util::sqlAddSlashes($foreign_db) . '\', ' . ' foreign_table    = \'' . PMA_Util::sqlAddSlashes($foreign_table) . '\', ' . ' foreign_field    = \'' . PMA_Util::sqlAddSlashes($foreign_field) . '\' ' . ' WHERE master_db  = \'' . PMA_Util::sqlAddSlashes($this->_db_name) . '\'' . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($this->_name) . '\'' . ' AND master_field = \'' . PMA_Util::sqlAddSlashes($master_field) . '\'';
             }
             // end if... else....
         } elseif (isset($existrel[$master_field])) {
             $upd_query = 'DELETE FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['relation']) . ' WHERE master_db  = \'' . PMA_Util::sqlAddSlashes($this->_db_name) . '\'' . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($this->_name) . '\'' . ' AND master_field = \'' . PMA_Util::sqlAddSlashes($master_field) . '\'';
         }
         // end if... else....
         if (isset($upd_query)) {
             $this->_dbi->query($upd_query, $GLOBALS['controllink'], 0, false);
             $updated = true;
         }
     }
     return $updated;
 }