Fixed bug #548495 - Alter table not replicate

This commit is contained in:
Loïc Chapeaux
2002-04-28 11:42:40 +00:00
parent 551e861c59
commit f7ef2d41ce
3 changed files with 96 additions and 86 deletions

View File

@@ -23,6 +23,8 @@ $Source$
xhtml fixes. xhtml fixes.
* lang/slovak-win1250.inc.php3: updated thanks to Peter Svec. * lang/slovak-win1250.inc.php3: updated thanks to Peter Svec.
* tbl_qbe.php3, line 732: fixed again a warning. * tbl_qbe.php3, line 732: fixed again a warning.
* tbl_addfield.php3; tbl_alter.php3: fixed bug #548495 - Alter table not
replicate.
2002-04-27 Marc Delisle <lem9@users.sourceforge.net> 2002-04-27 Marc Delisle <lem9@users.sourceforge.net>
* tbl_properties.php3, new tbl_properties_links.php3: * tbl_properties.php3, new tbl_properties_links.php3:

View File

@@ -115,7 +115,11 @@ if (isset($submit)) {
} // end for } // end for
$query = ereg_replace(', ADD $', '', $query); $query = ereg_replace(', ADD $', '', $query);
$sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' ADD ' . $query; // To allow replication, we first select the db to use and then run queries
// on this db.
$sql_query = 'USE ' . PMA_backquote($db);
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' ADD ' . $query;
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url); $result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$sql_query_cpy = $sql_query . ';'; $sql_query_cpy = $sql_query . ';';
@@ -129,7 +133,7 @@ if (isset($submit)) {
} // end for } // end for
$primary = ereg_replace(', $', '', $primary); $primary = ereg_replace(', $', '', $primary);
if (!empty($primary)) { if (!empty($primary)) {
$sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' ADD PRIMARY KEY (' . $primary . ')'; $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' ADD PRIMARY KEY (' . $primary . ')';
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url); $result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$sql_query_cpy .= "\n" . $sql_query . ';'; $sql_query_cpy .= "\n" . $sql_query . ';';
} }
@@ -145,7 +149,7 @@ if (isset($submit)) {
} // end for } // end for
$index = ereg_replace(', $', '', $index); $index = ereg_replace(', $', '', $index);
if (!empty($index)) { if (!empty($index)) {
$sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' ADD INDEX (' . $index . ')'; $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' ADD INDEX (' . $index . ')';
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url); $result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$sql_query_cpy .= "\n" . $sql_query . ';'; $sql_query_cpy .= "\n" . $sql_query . ';';
} }
@@ -161,7 +165,7 @@ if (isset($submit)) {
} // end for } // end for
$unique = ereg_replace(', $', '', $unique); $unique = ereg_replace(', $', '', $unique);
if (!empty($unique)) { if (!empty($unique)) {
$sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' ADD UNIQUE (' . $unique . ')'; $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' ADD UNIQUE (' . $unique . ')';
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url); $result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$sql_query_cpy .= "\n" . $sql_query . ';'; $sql_query_cpy .= "\n" . $sql_query . ';';
} }
@@ -178,7 +182,7 @@ if (isset($submit)) {
} // end for } // end for
$fulltext = ereg_replace(', $', '', $fulltext); $fulltext = ereg_replace(', $', '', $fulltext);
if (!empty($fulltext)) { if (!empty($fulltext)) {
$sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' ADD FULLTEXT (' . $fulltext . ')'; $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' ADD FULLTEXT (' . $fulltext . ')';
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url); $result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$sql_query_cpy .= "\n" . $sql_query . ';'; $sql_query_cpy .= "\n" . $sql_query . ';';
} }

View File

@@ -83,8 +83,12 @@ if (isset($submit)) {
} }
} // end for } // end for
// To allow replication, we first select the db to use and then run queries
// on this db.
$sql_query = 'USE ' . PMA_backquote($db);
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
// Optimization fix - 2 May 2001 - Robbat2 // Optimization fix - 2 May 2001 - Robbat2
$sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' CHANGE ' . $query; $sql_query = 'ALTER TABLE ' . PMA_backquote($table) . ' CHANGE ' . $query;
$result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url); $result = mysql_query($sql_query) or PMA_mysqlDie('', '', '', $err_url);
$message = $strTable . ' ' . htmlspecialchars($table) . ' ' . $strHasBeenAltered; $message = $strTable . ' ' . htmlspecialchars($table) . ' ' . $strHasBeenAltered;
$btnDrop = 'Fake'; $btnDrop = 'Fake';