[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_5-20497-g2aec106
Madhura Jayaratne
madhuracj at users.sourceforge.net
Tue Sep 27 17:43:33 CEST 2011
The branch, master has been updated
via 2aec106b901ff5d799bbd66c4eb29dd66d9db90e (commit)
via 2e101cc7336f2a448dd1682a49f8b343386f8c07 (commit)
from 66b879c458667b50f9243acebfc47efe53517c59 (commit)
- Log -----------------------------------------------------------------
commit 2aec106b901ff5d799bbd66c4eb29dd66d9db90e
Merge: 66b879c 2e101cc
Author: Madhura Jayaratne <madhura.cj at gmail.com>
Date: Tue Sep 27 21:11:10 2011 +0530
Merge branch 'QA_3_4'
Conflicts:
tbl_relation.php
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
tbl_relation.php | 17 +++++------------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e9971da..576bd5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -62,6 +62,7 @@ phpMyAdmin - ChangeLog
- bug #3411633 [core] Call to undefined function PMA_isSuperuser()
- bug #3413743 [interface] Display options link missing after search
- bug #3324161 [core] CSP policy causing designer JS buttons to fail
+- bug #3412862 [relation] Relations/constraints are dropped/created on every change
3.4.5.0 (2011-09-14)
- bug #3375325 [interface] Page list in navigation frame looks odd
diff --git a/tbl_relation.php b/tbl_relation.php
index 6bebd28..7e49758 100644
--- a/tbl_relation.php
+++ b/tbl_relation.php
@@ -216,25 +216,18 @@ if (isset($_REQUEST['destination_foreign'])) {
} elseif (PMA_backquote($existrel_foreign[$master_field]['foreign_db']) != $foreign_db
|| PMA_backquote($existrel_foreign[$master_field]['foreign_table']) != $foreign_table
|| PMA_backquote($existrel_foreign[$master_field]['foreign_field']) != $foreign_field
- || ($_REQUEST['on_delete'][$master_field_md5] != (!empty($existrel_foreign[$master_field]['on_delete']) ? $existrel_foreign[$master_field]['on_delete'] : ''))
- || ($_REQUEST['on_update'][$master_field_md5] != (!empty($existrel_foreign[$master_field]['on_update']) ? $existrel_foreign[$master_field]['on_update'] : ''))
+ || ($_REQUEST['on_delete'][$master_field_md5] != (!empty($existrel_foreign[$master_field]['on_delete']) ? $existrel_foreign[$master_field]['on_delete'] : 'RESTRICT'))
+ || ($_REQUEST['on_update'][$master_field_md5] != (!empty($existrel_foreign[$master_field]['on_update']) ? $existrel_foreign[$master_field]['on_update'] : 'RESTRICT'))
) {
// another foreign key is already defined for this field
// or
// an option has been changed for ON DELETE or ON UPDATE
- // remove existing key
+ // remove existing key and add the new one
$sql_query = 'ALTER TABLE ' . PMA_backquote($table)
. ' DROP FOREIGN KEY '
- . PMA_backquote($existrel_foreign[$master_field]['constraint']) . ';';
-
- // I tried to send both in one query but it failed
- PMA_DBI_query($sql_query);
- $display_query .= $sql_query . "\n";
-
- // add another
- $sql_query = 'ALTER TABLE ' . PMA_backquote($table)
- . ' ADD FOREIGN KEY ('
+ . PMA_backquote($existrel_foreign[$master_field]['constraint']) . ', '
+ . 'ADD FOREIGN KEY ('
. PMA_backquote($master_field) . ')'
. ' REFERENCES '
. $foreign_db . '.'
hooks/post-receive
--
phpMyAdmin
More information about the Git
mailing list