From 7d2718801e0c6d7388a57e09a52d58b69e52f350 Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Sun, 20 Nov 2011 18:30:56 +0530 Subject: [PATCH 1/4] Coding style improvements --- libraries/server_synchronize.lib.php | 270 ++++++++++++++------------- 1 file changed, 142 insertions(+), 128 deletions(-) diff --git a/libraries/server_synchronize.lib.php b/libraries/server_synchronize.lib.php index 3a076744db..9c7aff0d73 100644 --- a/libraries/server_synchronize.lib.php +++ b/libraries/server_synchronize.lib.php @@ -311,10 +311,10 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma $all_keys_match = 1; for ($a = 0; $a < sizeof($trg_keys[$matching_table_index]); $a++) { if (isset($trg_keys[$matching_table_index][$a])) { - if (! (in_array($trg_keys[$matching_table_index][$a], $src_keys[$matching_table_index]))) { - $all_keys_match = 0; - } - } + if (! (in_array($trg_keys[$matching_table_index][$a], $src_keys[$matching_table_index]))) { + $all_keys_match = 0; + } + } } if (! ($all_keys_match)) { if (isset($target_key_values)) { @@ -323,9 +323,9 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma } if (isset($trg_keys[$matching_table_index])) { if ((sizeof($trg_keys[$matching_table_index]) == 1) && $all_keys_match) { - $row = 0; - if (isset($target_key_values)) { - for ($i = 0; $i < sizeof($target_key_values); $i++) { + $row = 0; + if (isset($target_key_values)) { + for ($i = 0; $i < sizeof($target_key_values); $i++) { if (! (in_array($target_key_values[$i], $source_key_values))) { $delete_array[$matching_table_index][$row] = $target_key_values[$i]; $row++; @@ -367,27 +367,28 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma * @param string $src_db name of source database * @param mixed $src_link connection established with source server * @param int $index index of a table from $matching_table array - * @param array $row_count number of rows + * @param array &$row_count number of rows + * + * @return nothing */ function PMA_dataDiffInUncommonTables($source_tables_uncommon, $src_db, $src_link, $index, &$row_count) { - $query = "SELECT COUNT(*) FROM " . PMA_backquote($src_db) . "." . PMA_backquote($source_tables_uncommon[$index]); - $rows = PMA_DBI_fetch_result($query, null, null, $src_link); - $row_count[$index] = $rows[0]; + $query = "SELECT COUNT(*) FROM " . PMA_backquote($src_db) . "." . PMA_backquote($source_tables_uncommon[$index]); + $rows = PMA_DBI_fetch_result($query, null, null, $src_link); + $row_count[$index] = $rows[0]; } /** * PMA_updateTargetTables() sets the updated field values to target table rows using $update_array[$matching_table_index] * - * - * @param array $table Matching tables' names - * @param array $update_array A three dimensional array containing field + * @param array $table Matching tables' names + * @param array $update_array A three dimensional array containing field * value updates required for each matching table - * @param string $src_db Name of source database - * @param string $trg_db Name of target database - * @param mixed $trg_link Connection established with target server - * @param int $matching_table_index index of matching table in matching_table_array - * @param array $matching_table_keys + * @param string $src_db Name of source database + * @param string $trg_db Name of target database + * @param mixed $trg_link Connection established with target server + * @param int $matching_table_index index of matching table in matching_table_array + * @param array $matching_table_keys * @param boolean $display */ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_link, $matching_table_index, $matching_table_keys, $display) @@ -398,35 +399,34 @@ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_li for ($update_row = 0; $update_row < sizeof($update_array[$matching_table_index]); $update_row++) { if (isset($update_array[$matching_table_index][$update_row])) { - $update_fields_num = sizeof($update_array[$matching_table_index][$update_row])-sizeof($matching_table_keys[$matching_table_index]); - if ($update_fields_num > 0) { + $update_fields_num = sizeof($update_array[$matching_table_index][$update_row])-sizeof($matching_table_keys[$matching_table_index]); + if ($update_fields_num > 0) { $query = "UPDATE " . PMA_backquote($trg_db) . "." .PMA_backquote($table[$matching_table_index]) . " SET "; - for ($update_field = 0; $update_field < $update_fields_num; $update_field = $update_field+2) { - if (isset($update_array[$matching_table_index][$update_row][$update_field]) && isset($update_array[$matching_table_index][$update_row][$update_field+1])) { - $query .= $update_array[$matching_table_index][$update_row][$update_field] . "='" . $update_array[$matching_table_index][$update_row][$update_field+1] . "'"; - } - if ($update_field < ($update_fields_num - 2)) { - $query .= ", "; - } - } - $query .= " WHERE "; - if (isset($matching_table_keys[$matching_table_index])) { - for ($key = 0; $key < sizeof($matching_table_keys[$matching_table_index]); $key++) - { - if (isset($matching_table_keys[$matching_table_index][$key])) { - $query .= $matching_table_keys[$matching_table_index][$key] . "='" . $update_array[$matching_table_index][$update_row][$matching_table_keys[$matching_table_index][$key]] . "'"; + for ($update_field = 0; $update_field < $update_fields_num; $update_field = $update_field+2) { + if (isset($update_array[$matching_table_index][$update_row][$update_field]) && isset($update_array[$matching_table_index][$update_row][$update_field+1])) { + $query .= $update_array[$matching_table_index][$update_row][$update_field] . "='" . $update_array[$matching_table_index][$update_row][$update_field+1] . "'"; } - if ($key < (sizeof($matching_table_keys[$matching_table_index]) - 1)) { - $query .= " AND "; + if ($update_field < ($update_fields_num - 2)) { + $query .= ", "; } } - } - $query .= ';'; - if ($display == true) { - echo "

" . $query . "

"; - } - PMA_DBI_try_query($query, $trg_link, 0); + $query .= " WHERE "; + if (isset($matching_table_keys[$matching_table_index])) { + for ($key = 0; $key < sizeof($matching_table_keys[$matching_table_index]); $key++) { + if (isset($matching_table_keys[$matching_table_index][$key])) { + $query .= $matching_table_keys[$matching_table_index][$key] . "='" . $update_array[$matching_table_index][$update_row][$matching_table_keys[$matching_table_index][$key]] . "'"; + } + if ($key < (sizeof($matching_table_keys[$matching_table_index]) - 1)) { + $query .= " AND "; + } + } + } + $query .= ';'; + if ($display == true) { + echo "

" . $query . "

"; + } + PMA_DBI_try_query($query, $trg_link, 0); } } } @@ -484,11 +484,10 @@ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, } } $select_query .= "; "; - $result = PMA_DBI_fetch_result ($select_query, null, null, $src_link); + $result = PMA_DBI_fetch_result($select_query, null, null, $src_link); $insert_query = "INSERT INTO " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_table[$matching_table_index]) ." ("; - for ($field_index = 0; $field_index < sizeof($table_fields[$matching_table_index]); $field_index++) - { + for ($field_index = 0; $field_index < sizeof($table_fields[$matching_table_index]); $field_index++) { $insert_query .= $table_fields[$matching_table_index][$field_index]; $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db ."' @@ -497,13 +496,14 @@ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, $is_fk_result = PMA_DBI_fetch_result($is_fk_query, null, null, $trg_link); if (sizeof($is_fk_result) > 0) { - for ($j = 0; $j < sizeof($is_fk_result); $j++) - { + for ($j = 0; $j < sizeof($is_fk_result); $j++) { $table_index = array_keys($matching_table, $is_fk_result[$j]['REFERENCED_TABLE_NAME']); if (isset($alter_str_array[$table_index[0]])) { - PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, $source_columns, $alter_str_array, $matching_tables_fields, - $criteria, $matching_tables_keys, $target_tables_keys, $table_index[0], $display); + PMA_alterTargetTableStructure( + $trg_db, $trg_link, $matching_tables, $source_columns, $alter_str_array, $matching_tables_fields, + $criteria, $matching_tables_keys, $target_tables_keys, $table_index[0], $display + ); unset($alter_str_array[$table_index[0]]); } if (isset($uncommon_columns[$table_index[0]])) { @@ -511,37 +511,49 @@ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, unset($uncommon_columns[$table_index[0]]); } if (isset($add_column_array[$table_index[0]])) { - PMA_findDeleteRowsFromTargetTables($delete_array, $matching_tables, $table_index[0], $target_tables_keys, $matching_tables_keys, - $trg_db, $trg_link, $src_db, $src_link); + PMA_findDeleteRowsFromTargetTables( + $delete_array, $matching_tables, $table_index[0], $target_tables_keys, + $matching_tables_keys, $trg_db, $trg_link, $src_db, $src_link + ); if (isset($delete_array[$table_index[0]])) { - PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_index[0], $target_tables_keys, $delete_array, $display); - unset($delete_array[$table_index[0]]); + PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_index[0], $target_tables_keys, $delete_array, $display); + unset($delete_array[$table_index[0]]); } - PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $matching_tables, $source_columns, $add_column_array, - $matching_tables_fields, $criteria, $matching_tables_keys, $target_tables_keys, $uncommon_tables, $uncommon_tables_fields, - $table_index[0], $uncommon_cols, $display); + PMA_addColumnsInTargetTable( + $src_db, $trg_db, $src_link, $trg_link, $matching_tables, $source_columns, $add_column_array, + $matching_tables_fields, $criteria, $matching_tables_keys, $target_tables_keys, $uncommon_tables, + $uncommon_tables_fields, $table_index[0], $uncommon_cols, $display + ); unset($add_column_array[$table_index[0]]); } - if (isset($add_indexes_array[$table_index[0]]) || isset($remove_indexes_array[$table_index[0]]) - || isset($alter_indexes_array[$table_index[0]])) { - PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, $alter_indexes_array, - $remove_indexes_array, $table_index[0], $display); + if (isset($add_indexes_array[$table_index[0]]) + || isset($remove_indexes_array[$table_index[0]]) + || isset($alter_indexes_array[$table_index[0]]) + ) { + PMA_applyIndexesDiff( + $trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, + $alter_indexes_array, $remove_indexes_array, $table_index[0], $display + ); unset($add_indexes_array[$table_index[0]]); unset($alter_indexes_array[$table_index[0]]); unset($remove_indexes_array[$table_index[0]]); } if (isset($update_array[$table_index[0]])) { - PMA_updateTargetTables($matching_tables, $update_array, $src_db, $trg_db, $trg_link, $table_index[0], $matching_table_keys, - $display); + PMA_updateTargetTables( + $matching_tables, $update_array, $src_db, $trg_db, $trg_link, + $table_index[0], $matching_table_keys, $display + ); unset($update_array[$table_index[0]]); } if (isset($array_insert[$table_index[0]])) { - PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, $trg_link, $table_fields, $array_insert, - $table_index[0], $matching_tables_keys, $source_columns, $add_column_array, $criteria, $target_tables_keys, $uncommon_tables, - $uncommon_tables_fields, $uncommon_cols, $alter_str_array, $source_indexes, $target_indexes, $add_indexes_array, - $alter_indexes_array, $delete_array, $update_array, $display); + PMA_insertIntoTargetTable( + $matching_table, $src_db, $trg_db, $src_link, $trg_link, $table_fields, $array_insert, $table_index[0], + $matching_tables_keys, $source_columns, $add_column_array, $criteria, $target_tables_keys, $uncommon_tables, + $uncommon_tables_fields, $uncommon_cols, $alter_str_array, $source_indexes, $target_indexes, $add_indexes_array, + $alter_indexes_array, $delete_array, $update_array, $display + ); unset($array_insert[$table_index[0]]); } } @@ -613,20 +625,19 @@ function PMA_createTargetTables($src_db, $trg_db, $src_link, $trg_link, &$uncomm $is_fk_result = PMA_DBI_fetch_result($is_fk_query, null, null, $src_link); if (sizeof($is_fk_result) > 0) { - for ($j = 0; $j < sizeof($is_fk_result); $j++) - { + for ($j = 0; $j < sizeof($is_fk_result); $j++) { if (in_array($is_fk_result[$j]['REFERENCED_TABLE_NAME'], $uncommon_tables)) { $table_index = array_keys($uncommon_tables, $is_fk_result[$j]['REFERENCED_TABLE_NAME']); PMA_createTargetTables($src_db, $trg_db, $trg_link, $src_link, $uncommon_tables, $table_index[0], $uncommon_tables_fields, $display); unset($uncommon_tables[$table_index[0]]); } } - } - $Create_Table_Query .= ';'; - if ($display == true) { - echo '

' . $Create_Table_Query . '

'; - } - PMA_DBI_try_query($Create_Table_Query, $trg_link, 0); + } + $Create_Table_Query .= ';'; + if ($display == true) { + echo '

' . $Create_Table_Query . '

'; + } + PMA_DBI_try_query($Create_Table_Query, $trg_link, 0); } } /** @@ -672,12 +683,12 @@ function PMA_populateTargetTables($src_db, $trg_db, $src_link, $trg_link, $uncom /** * PMA_deleteFromTargetTable() delete rows from target table * - * @param string $trg_db name of target database - * @param mixed $trg_link connection established with target server - * @param array $matching_tables matching table names - * @param int $table_index index of table in matching_table_array - * @param array $target_tables_keys primary key names of the target tables - * @param array $delete_array key values of rows that are to be deleted + * @param string $trg_db name of target database + * @param mixed $trg_link connection established with target server + * @param array $matching_tables matching table names + * @param int $table_index index of table in matching_table_array + * @param array $target_tables_keys primary key names of the target tables + * @param array $delete_array key values of rows that are to be deleted * @param bool $display */ function PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_index, $target_tables_keys, $delete_array, $display) @@ -761,7 +772,8 @@ function PMA_structureDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matc if (! (($criteria[$i] == 'Key') && (($source_columns[$matching_table_index][$column_name][$criteria[$i]] == 'MUL') || ($target_columns[$matching_table_index][$column_name][$criteria[$i]] == 'MUL') || ($source_columns[$matching_table_index][$column_name][$criteria[$i]] == 'UNI') - || ($target_columns[$matching_table_index][$column_name][$criteria[$i]] == 'UNI')))) { + || ($target_columns[$matching_table_index][$column_name][$criteria[$i]] == 'UNI'))) + ) { $alter_str_array[$matching_table_index][$column_name][$criteria[$i]] = $source_columns[$matching_table_index][$column_name][$criteria[$i]]; } } @@ -836,7 +848,7 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma for ($a = 0; ($a < $trg_key_size) && ($check); $a++) { if (! (in_array($target_tables_keys[$table_counter], $uncommon_cols))) { $check = false; - } + } } if (! $check) { $query .= " ,DROP PRIMARY KEY " ; @@ -907,8 +919,10 @@ function PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link, $reference for ($j = 0; $j < sizeof($is_fk_result); $j++) { if (in_array($is_fk_result[$j]['REFERENCED_TABLE_NAME'], $uncommon_tables)) { $table_index = array_keys($uncommon_tables, $is_fk_result[$j]['REFERENCED_TABLE_NAME']); - PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link, $is_fk_result[$j]['REFERENCED_TABLE_NAME'], $uncommon_tables, - $uncommon_tables_fields, $display); + PMA_checkForeignKeys( + $src_db, $src_link, $trg_db, $trg_link, $is_fk_result[$j]['REFERENCED_TABLE_NAME'], + $uncommon_tables, $uncommon_tables_fields, $display + ); PMA_createTargetTables($src_db, $trg_db, $trg_link, $src_link, $uncommon_tables, $table_index[0], $uncommon_tables_fields, $display); unset($uncommon_tables[$table_index[0]]); } @@ -973,8 +987,7 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s $sql_query = 'ALTER TABLE ' . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$matching_table_index]) . ' MODIFY ' . $matching_tables_fields[$matching_table_index][$t] . ' ' . $source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type']; $found = false; - for ($i = 0; $i < sizeof($criteria); $i++) - { + for ($i = 0; $i < sizeof($criteria); $i++) { if (isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]]) && $criteria[$i] != 'Key') { $found = true; if (($criteria[$i] == 'Type') && (! isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i+1]]))) { @@ -1054,11 +1067,11 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s /** * PMA_removeColumnsFromTargetTable() removes the columns which are present in target table but not in source table. * - * @param string $trg_db name of target database - * @param mixed $trg_link connection established with target server - * @param array $matching_tables names of matching tables - * @param array $uncommon_columns array containing the names of the column which are to be dropped from the target table - * @param int $table_counter index of the matching table as in $matchiing_tables array + * @param string $trg_db name of target database + * @param mixed $trg_link connection established with target server + * @param array $matching_tables names of matching tables + * @param array $uncommon_columns array containing the names of the column which are to be dropped from the target table + * @param int $table_counter index of the matching table as in $matchiing_tables array * @param bool $display */ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, $uncommon_columns, $table_counter, $display) @@ -1109,17 +1122,17 @@ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, * indexes to be altered in $alter_indexes_array and indexes to be removed from target table in $remove_indexes_array. * Only keyname and uniqueness characteristic of the indexes are altered. * - * @param string $src_db name of source database - * @param string $trg_db name of target database - * @param mixed $src_link connection established with source server - * @param mixed $trg_link connection established with target server - * @param array $matching_tables matching tables name - * @param array &$source_indexes indexes of the source table - * @param array &$target_indexes indexes of the target table - * @param array &$add_indexes_array name of the column on which the index is to be added in the target table - * @param array &$alter_indexes_array key name which needs to be altered - * @param array &$remove_indexes_array key name of the index which is to be removed from the target table - * @param int $table_counter number of the matching table + * @param string $src_db name of source database + * @param string $trg_db name of target database + * @param mixed $src_link connection established with source server + * @param mixed $trg_link connection established with target server + * @param array $matching_tables matching tables name + * @param array &$source_indexes indexes of the source table + * @param array &$target_indexes indexes of the target table + * @param array &$add_indexes_array name of the column on which the index is to be added in the target table + * @param array &$alter_indexes_array key name which needs to be altered + * @param array &$remove_indexes_array key name of the index which is to be removed from the target table + * @param int $table_counter number of the matching table */ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matching_tables, &$source_indexes, &$target_indexes, &$add_indexes_array, &$alter_indexes_array, &$remove_indexes_array, $table_counter) @@ -1134,8 +1147,7 @@ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matchi /* * @todo compare the length of each sub part */ - while (($z <= sizeof($target_indexes[$table_counter])) && ($found == false)) - { + while (($z <= sizeof($target_indexes[$table_counter])) && ($found == false)) { if (isset($source_indexes[$table_counter][$a]) && isset($target_indexes[$table_counter][$z]) && $source_indexes[$table_counter][$a]['Key_name'] == $target_indexes[$table_counter][$z]['Key_name']) { $found = true; if (($source_indexes[$table_counter][$a]['Column_name'] != $target_indexes[$table_counter][$z]['Column_name']) || ($source_indexes[$table_counter][$a]['Non_unique'] != $target_indexes[$table_counter][$z]['Non_unique'])) { @@ -1157,8 +1169,7 @@ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matchi for ($b = 0; $b < sizeof($target_indexes[$table_counter]); $b++) { $found = false; $c = 0; - while (($c <= sizeof($source_indexes[$table_counter])) && ($found == false)) - { + while (($c <= sizeof($source_indexes[$table_counter])) && ($found == false)) { if ($target_indexes[$table_counter][$b]['Column_name'] == $source_indexes[$table_counter][$c]['Column_name']) { $found = true; } @@ -1173,15 +1184,15 @@ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matchi /** * PMA_applyIndexesDiff() create indexes, alters indexes and remove indexes. * - * @param string $trg_db name of target database - * @param mixed $trg_link connection established with target server - * @param array $matching_tables matching tables name - * @param array $source_indexes indexes of the source table - * @param array $target_indexes indexes of the target table - * @param array $add_indexes_array column names on which indexes are to be created in target table - * @param array $alter_indexes_array column names for which indexes are to be altered - * @param array $remove_indexes_array key name of the indexes which are to be removed from the target table - * @param int $table_counter number of the matching table + * @param string $trg_db name of target database + * @param mixed $trg_link connection established with target server + * @param array $matching_tables matching tables name + * @param array $source_indexes indexes of the source table + * @param array $target_indexes indexes of the target table + * @param array $add_indexes_array column names on which indexes are to be created in target table + * @param array $alter_indexes_array column names for which indexes are to be altered + * @param array $remove_indexes_array key name of the indexes which are to be removed from the target table + * @param int $table_counter number of the matching table * @param $display */ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, $alter_indexes_array, @@ -1261,7 +1272,9 @@ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_ind * PMA_displayQuery() displays a query, taking the maximum display size * into account * - * @param string $query the query to display + * @param string $query the query to display + * + * @return nothing */ function PMA_displayQuery($query) { @@ -1274,8 +1287,10 @@ function PMA_displayQuery($query) /** * PMA_syncDisplayHeaderCompare() shows the header for source database * - * @param string $src_db source db name - * @param string $trg_db target db name + * @param string $src_db source db name + * @param string $trg_db target db name + * + * @return nothing */ function PMA_syncDisplayHeaderCompare($src_db, $trg_db) { @@ -1347,20 +1362,19 @@ function PMA_syncDisplayDataCompare($rows) /** * array PMA_get_column_values (string $database, string $table, string $column , mysql db link $link = null) * - * @param string $database name of database - * @param string $table name of table to retrieve columns from - * @param string $column name of the column to retrieve data from - * @param mixed $link mysql link resource - * @return array $field_values + * @param string $database name of database + * @param string $table name of table to retrieve columns from + * @param string $column name of the column to retrieve data from + * @param mixed $link mysql link resource + * + * @return array $field_values */ function PMA_get_column_values($database, $table, $column, $link = null) { $query = 'SELECT '; - for ($i=0; $i< sizeof($column); $i++) - { + for ($i=0; $i< sizeof($column); $i++) { $query.= PMA_backquote($column[$i]); - if ($i < (sizeof($column)-1)) - { + if ($i < (sizeof($column)-1)) { $query.= ', '; } } From b5c45d0d35c203fe1b8e1c720ae8af7e40f4ce6c Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Sun, 20 Nov 2011 21:52:22 +0530 Subject: [PATCH 2/4] White space cleanup --- libraries/server_synchronize.lib.php | 600 +++++++++++++-------------- 1 file changed, 300 insertions(+), 300 deletions(-) diff --git a/libraries/server_synchronize.lib.php b/libraries/server_synchronize.lib.php index c9f1242d17..d53d4f42be 100644 --- a/libraries/server_synchronize.lib.php +++ b/libraries/server_synchronize.lib.php @@ -1,27 +1,27 @@ - 1){ for ($k=0; $k < sizeof($is_key); $k++) { $trg_select_query .= $is_key[$k] . "='" . $source_result_set[$j][$is_key[$k]] . "'"; if ($k < (sizeof($is_key)-1)){ - $trg_select_query .= " AND "; + $trg_select_query .= " AND "; } - } + } } - + $target_result_set = PMA_DBI_fetch_result($trg_select_query, null, null, $trg_link); if ($target_result_set) { // Fetch the row from the source server to do a comparison - $src_select_query = "SELECT * FROM " . PMA_backquote($src_db) . "." + $src_select_query = "SELECT * FROM " . PMA_backquote($src_db) . "." . PMA_backquote($matching_table[$matching_table_index]) . " WHERE "; - + if (sizeof($is_key) == 1) { $src_select_query .= $is_key[0] . "='" . $source_result_set[$j] . "'"; } else if(sizeof($is_key) > 1){ for ($k=0; $k< sizeof($is_key); $k++) { $src_select_query .= $is_key[$k] . "='" . $source_result_set[$j][$is_key[$k]] . "'"; if ($k < (sizeof($is_key) - 1)){ - $src_select_query .= " AND "; + $src_select_query .= " AND "; } } - } - + } + $src_result_set = PMA_DBI_fetch_result($src_select_query, null, null, $src_link); - + /** * Comparing each corresponding field of the source and target matching rows. - * Placing the primary key, value of primary key, field to be updated, and the - * new value of field to be updated in each row of the update array. + * Placing the primary key, value of primary key, field to be updated, and the + * new value of field to be updated in each row of the update array. */ for ($m = 0; ($m < $fields_num[$matching_table_index]) && ($starting_index == 0) ; $m++) { if (isset($src_result_set[0][$fld[$m]])) { @@ -187,19 +187,19 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching if ($source_result_set[$j]) { $update_array[$matching_table_index][$update_row][$is_key[0]] = $source_result_set[$j]; } - } elseif (sizeof($is_key) > 1) { + } elseif (sizeof($is_key) > 1) { for ($n=0; $n < sizeof($is_key); $n++) { if (isset($src_result_set[0][$is_key[$n]])) { $update_array[$matching_table_index][$update_row][$is_key[$n]] = $src_result_set[0][$is_key[$n]]; } } } - + $update_array[$matching_table_index][$update_row][$update_field] = $fld[$m]; - + $update_field++; if (isset($src_result_set[0][$fld[$m]])) { - $update_array[$matching_table_index][$update_row][$update_field] = $src_result_set[0][$fld[$m]]; + $update_array[$matching_table_index][$update_row][$update_field] = $src_result_set[0][$fld[$m]]; $update_field++; } $starting_index = $m; @@ -209,21 +209,21 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching if (sizeof($is_key) == 1) { if ($source_result_set[$j]) { $update_array[$matching_table_index][$update_row][$is_key[0]] = $source_result_set[$j]; - + } - } elseif (sizeof($is_key) > 1) { + } elseif (sizeof($is_key) > 1) { for ($n = 0; $n < sizeof($is_key); $n++) { if (isset($src_result_set[0][$is_key[$n]])) { $update_array[$matching_table_index][$update_row][$is_key[$n]] = $src_result_set[0][$is_key[$n]]; } } } - + $update_array[$matching_table_index][$update_row][$update_field] = $fld[$m]; - + $update_field++; if (isset($src_result_set[0][$fld[$m]])) { - $update_array[$matching_table_index][$update_row][$update_field] = $src_result_set[0][$fld[$m]]; + $update_array[$matching_table_index][$update_row][$update_field] = $src_result_set[0][$fld[$m]]; $update_field++; } $starting_index = $m; @@ -232,28 +232,28 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching } } for ($m = $starting_index + 1; $m < $fields_num[$matching_table_index] ; $m++) - { + { if (isset($src_result_set[0][$fld[$m]])) { - if (isset($target_result_set[0][$fld[$m]])) { + if (isset($target_result_set[0][$fld[$m]])) { if (($src_result_set[0][$fld[$m]] != $target_result_set[0][$fld[$m]]) && (!(in_array($fld[$m], $is_key)))) { - $update_row--; + $update_row--; $update_array[$matching_table_index][$update_row][$update_field] = $fld[$m]; $update_field++; if ($src_result_set[0][$fld[$m]]) { $update_array[$matching_table_index][$update_row][$update_field] = $src_result_set[0][$fld[$m]]; $update_field++; } - $update_row++; + $update_row++; } } else { - $update_row--; + $update_row--; $update_array[$matching_table_index][$update_row][$update_field] = $fld[$m]; $update_field++; if ($src_result_set[0][$fld[$m]]) { $update_array[$matching_table_index][$update_row][$update_field] = $src_result_set[0][$fld[$m]]; $update_field++; } - $update_row++; + $update_row++; } } } @@ -265,7 +265,7 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching if (isset($source_result_set[$j])) { $insert_array[$matching_table_index][$insert_row][$is_key[0]] = $source_result_set[$j]; } - } elseif (sizeof($is_key) > 1) { + } elseif (sizeof($is_key) > 1) { for($l = 0; $l < sizeof($is_key); $l++) { if (isset($source_result_set[$j][$matching_tables_fields[$matching_table_index][$l]])) { $insert_array[$matching_table_index][$insert_row][$is_key[$l]] = $source_result_set[$j][$matching_tables_fields[$matching_table_index][$l]]; @@ -277,13 +277,13 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching } else { /** * Placing the primary key, and the value of primary key of the row that is to be inserted in the target table - * This condition is met when there is an additional column in the source table + * This condition is met when there is an additional column in the source table */ if (sizeof($is_key) == 1) { if (isset($source_result_set[$j])) { $insert_array[$matching_table_index][$insert_row][$is_key[0]] = $source_result_set[$j]; } - } elseif (sizeof($is_key) > 1) { + } elseif (sizeof($is_key) > 1) { for ($l = 0; $l < sizeof($is_key); $l++) { if (isset($source_result_set[$j][$matching_tables_fields[$matching_table_index][$l]])) { $insert_array[$matching_table_index][$insert_row][$is_key[$l]] = $source_result_set[$j][$matching_tables_fields[$matching_table_index][$l]]; @@ -293,34 +293,34 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching $insert_row++; } } // for loop ends - } -} + } +} /** * PMA_findDeleteRowsFromTargetTables finds the rows which are to be deleted from target table. * @uses sizeof() * @uses PMA_DBI_get_column_values() * @uses in_array() -* -* @param $delete_array array containing rows that are to be deleted +* +* @param $delete_array array containing rows that are to be deleted * @param $matching_table array containing matching table names * @param $matching_table_index index of a table from $matching_table array * @param $trg_keys array of target table keys * @param $src_keys array of source table keys * @param $trg_db name of target database * @param $trg_link connection established with target server -* @param $src_db name of source database +* @param $src_db name of source database * @param $src_link connection established with source server -* +* */ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $matching_table_index, $trg_keys, $src_keys, $trg_db, $trg_link,$src_db, $src_link) { if (isset($trg_keys[$matching_table_index])) { - $target_key_values = PMA_DBI_get_column_values($trg_db, $matching_table[$matching_table_index], $trg_keys[$matching_table_index], $trg_link); - $target_row_size = sizeof($target_key_values); + $target_key_values = PMA_DBI_get_column_values($trg_db, $matching_table[$matching_table_index], $trg_keys[$matching_table_index], $trg_link); + $target_row_size = sizeof($target_key_values); } if (isset($src_keys[$matching_table_index])) { - $source_key_values = PMA_DBI_get_column_values($src_db, $matching_table[$matching_table_index], $src_keys[$matching_table_index], $src_link); - $source_size = sizeof($source_key_values); + $source_key_values = PMA_DBI_get_column_values($src_db, $matching_table[$matching_table_index], $src_keys[$matching_table_index], $src_link); + $source_size = sizeof($source_key_values); } $all_keys_match = 1; for ($a = 0; $a < sizeof($trg_keys[$matching_table_index]); $a++) { @@ -328,7 +328,7 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma if (! (in_array($trg_keys[$matching_table_index][$a], $src_keys[$matching_table_index]))) { $all_keys_match = 0; } - } + } } if (! ($all_keys_match)) { if (isset($target_key_values)) { @@ -337,17 +337,17 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma } if (isset($trg_keys[$matching_table_index])) { if ((sizeof($trg_keys[$matching_table_index]) == 1) && $all_keys_match) { - $row = 0; + $row = 0; if (isset($target_key_values)) { for ($i = 0; $i < sizeof($target_key_values); $i++) { if (! (in_array($target_key_values[$i], $source_key_values))) { $delete_array[$matching_table_index][$row] = $target_key_values[$i]; - $row++; + $row++; } - } + } } } elseif ((sizeof($trg_keys[$matching_table_index]) > 1) && $all_keys_match) { - $row = 0; + $row = 0; if (isset($target_key_values)) { for ($i = 0; $i < sizeof($target_key_values); $i++) { $is_present = false; @@ -356,7 +356,7 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma for ($k = 0; $k < sizeof($trg_keys[$matching_table_index]); $k++) { if ($target_key_values[$i][$trg_keys[$matching_table_index][$k]] != $source_key_values[$j][$trg_keys[$matching_table_index][$k]]) { $check = false; - } + } } if ($check) { $is_present = true; @@ -368,16 +368,16 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma } $row++; } - } - } + } + } } - } + } } /** * PMA_dataDiffInUncommonTables() finds the data difference in $source_tables_uncommon * @uses PMA_DBI_fetch_result() -* +* * @param $source_tables_uncommon array of table names; containing table names that are in source db and not in target db * @param $src_db name of source database * @param $src_link connection established with source server @@ -387,9 +387,9 @@ function PMA_findDeleteRowsFromTargetTables(&$delete_array, $matching_table, $ma function PMA_dataDiffInUncommonTables($source_tables_uncommon, $src_db, $src_link, $index, &$row_count) { - $query = "SELECT COUNT(*) FROM " . PMA_backquote($src_db) . "." . PMA_backquote($source_tables_uncommon[$index]); - $rows = PMA_DBI_fetch_result($query, null, null, $src_link); - $row_count[$index] = $rows[0]; + $query = "SELECT COUNT(*) FROM " . PMA_backquote($src_db) . "." . PMA_backquote($source_tables_uncommon[$index]); + $rows = PMA_DBI_fetch_result($query, null, null, $src_link); + $row_count[$index] = $rows[0]; } /** @@ -397,35 +397,35 @@ function PMA_dataDiffInUncommonTables($source_tables_uncommon, $src_db, $src_lin * * @uses PMA_DBI_fetch_result() * @uses PMA_backquote() -* -* @param $table Array containing matching tables' names +* +* @param $table Array containing matching tables' names * @param $update_array A three dimensional array containing field * value updates required for each matching table -* @param $src_db Name of source database +* @param $src_db Name of source database * @param $trg_db Name of target database * @param $trg_link Connection established with target server -* @param $matching_table_index index of matching table in matching_table_array +* @param $matching_table_index index of matching table in matching_table_array * @param $display true/false value -*/ +*/ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_link, $matching_table_index, $matching_table_keys, $display) -{ +{ if (isset($update_array[$matching_table_index])) { if (sizeof($update_array[$matching_table_index])) { - + for ($update_row = 0; $update_row < sizeof($update_array[$matching_table_index]); $update_row++) { - - if (isset($update_array[$matching_table_index][$update_row])) { + + if (isset($update_array[$matching_table_index][$update_row])) { $update_fields_num = sizeof($update_array[$matching_table_index][$update_row])-sizeof($matching_table_keys[$matching_table_index]); if ($update_fields_num > 0) { - $query = "UPDATE " . PMA_backquote($trg_db) . "." .PMA_backquote($table[$matching_table_index]) . " SET "; - + $query = "UPDATE " . PMA_backquote($trg_db) . "." .PMA_backquote($table[$matching_table_index]) . " SET "; + for ($update_field = 0; $update_field < $update_fields_num; $update_field = $update_field+2) { if (isset($update_array[$matching_table_index][$update_row][$update_field]) && isset($update_array[$matching_table_index][$update_row][$update_field+1])) { $query .= $update_array[$matching_table_index][$update_row][$update_field] . "='" . $update_array[$matching_table_index][$update_row][$update_field+1] . "'"; } if ($update_field < ($update_fields_num - 2)) { - $query .= ", "; + $query .= ", "; } } $query .= " WHERE "; @@ -433,7 +433,7 @@ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_li for ($key = 0; $key < sizeof($matching_table_keys[$matching_table_index]); $key++) { if (isset($matching_table_keys[$matching_table_index][$key])) { - + $query .= $matching_table_keys[$matching_table_index][$key] . "='" . $update_array[$matching_table_index][$update_row][$matching_table_keys[$matching_table_index][$key]] . "'"; } if ($key < (sizeof($matching_table_keys[$matching_table_index]) - 1)) { @@ -443,29 +443,29 @@ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_li } if ($display == true) { echo "

" . $query . "

"; - } + } PMA_DBI_try_query($query, $trg_link, 0); } - } + } } } } } /** * PMA_insertIntoTargetTable() inserts missing rows in the target table using $array_insert[$matching_table_index] -* +* * @uses PMA_DBI_fetch_result() * @uses PMA_backquote() -* -* +* +* * @param $matching_table array containing matching table names * @param $src_db name of source database * @param $trg_db name of target database * @param $src_link connection established with source server * @param $trg_link connection established with target server * @param $table_fields array containing field names of a table -* @param $array_insert -* @param $matching_table_index index of matching table in matching_table_array +* @param $array_insert +* @param $matching_table_index index of matching table in matching_table_array * @param $matching_tables_keys array containing field names that are keys in the matching table * @param $source_columns array containing source column information * @param $add_column_array array containing column names that are to be added in target table @@ -474,79 +474,79 @@ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_li * @param $uncommon_tables array containing table names that are present in source db but not in targt db * @param $uncommon_tables_fields array containing field names of the uncommon tables * @param $uncommon_cols column names that are present in target table and not in source table -* @param $alter_str_array array containing column names that are to be altered -* @param $source_indexes column names on which indexes are made in source table -* @param $target_indexes column names on which indexes are made in target table +* @param $alter_str_array array containing column names that are to be altered +* @param $source_indexes column names on which indexes are made in source table +* @param $target_indexes column names on which indexes are made in target table * @param $add_indexes_array array containing column names on which index is to be added in target table -* @param $alter_indexes_array array containing column names whose indexes are to be altered. Only index name and uniqueness of an index can be changed +* @param $alter_indexes_array array containing column names whose indexes are to be altered. Only index name and uniqueness of an index can be changed * @param $delete_array array containing rows that are to be deleted * @param $update_array array containing rows that are to be updated in target * @param $display true/false value * */ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, $trg_link, $table_fields, &$array_insert, $matching_table_index, - $matching_tables_keys, $source_columns, &$add_column_array, $criteria, $target_tables_keys, $uncommon_tables, &$uncommon_tables_fields,$uncommon_cols, + $matching_tables_keys, $source_columns, &$add_column_array, $criteria, $target_tables_keys, $uncommon_tables, &$uncommon_tables_fields,$uncommon_cols, &$alter_str_array,&$source_indexes, &$target_indexes, &$add_indexes_array, &$alter_indexes_array, &$delete_array, &$update_array, $display) -{ +{ if(isset($array_insert[$matching_table_index])) { if (sizeof($array_insert[$matching_table_index])) { for ($insert_row = 0; $insert_row< sizeof($array_insert[$matching_table_index]); $insert_row++) { if (isset($array_insert[$matching_table_index][$insert_row][$matching_tables_keys[$matching_table_index][0]])) { - + $select_query = "SELECT * FROM " . PMA_backquote($src_db) . "." . PMA_backquote($matching_table[$matching_table_index]) . " WHERE "; for ($i = 0; $i < sizeof($matching_tables_keys[$matching_table_index]); $i++) { $select_query .= $matching_tables_keys[$matching_table_index][$i] . "='"; $select_query .= $array_insert[$matching_table_index][$insert_row][$matching_tables_keys[$matching_table_index][$i]] . "'" ; - + if ($i < (sizeof($matching_tables_keys[$matching_table_index]) - 1)) { - $select_query.= " AND "; + $select_query.= " AND "; } } $select_query .= "; "; $result = PMA_DBI_fetch_result ($select_query, null, null, $src_link); $insert_query = "INSERT INTO " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_table[$matching_table_index]) ." ("; - - for ($field_index = 0; $field_index < sizeof($table_fields[$matching_table_index]); $field_index++) + + for ($field_index = 0; $field_index < sizeof($table_fields[$matching_table_index]); $field_index++) { $insert_query .= $table_fields[$matching_table_index][$field_index]; - - $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db ."' + + $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db ."' AND TABLE_NAME = '" . $matching_table[$matching_table_index]. "'AND COLUMN_NAME = '" . $table_fields[$matching_table_index][$field_index] . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;" ; - + $is_fk_result = PMA_DBI_fetch_result($is_fk_query, null, null, $trg_link); if (sizeof($is_fk_result) > 0) { for ($j = 0; $j < sizeof($is_fk_result); $j++) { $table_index = array_keys($matching_table, $is_fk_result[$j]['REFERENCED_TABLE_NAME']); - + if (isset($alter_str_array[$table_index[0]])) { PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, $source_columns, $alter_str_array, $matching_tables_fields, $criteria, $matching_tables_keys, $target_tables_keys, $table_index[0], $display); - unset($alter_str_array[$table_index[0]]); - } + unset($alter_str_array[$table_index[0]]); + } if (isset($uncommon_columns[$table_index[0]])) { PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, $uncommon_columns, $table_index[0], $display); - unset($uncommon_columns[$table_index[0]]); - } + unset($uncommon_columns[$table_index[0]]); + } if (isset($add_column_array[$table_index[0]])) { PMA_findDeleteRowsFromTargetTables($delete_array, $matching_tables, $table_index[0], $target_tables_keys, $matching_tables_keys, $trg_db, $trg_link, $src_db, $src_link); - + if (isset($delete_array[$table_index[0]])) { PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_index[0], $target_tables_keys, $delete_array, $display); - unset($delete_array[$table_index[0]]); - } - PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $matching_tables, $source_columns, $add_column_array, + unset($delete_array[$table_index[0]]); + } + PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $matching_tables, $source_columns, $add_column_array, $matching_tables_fields, $criteria, $matching_tables_keys, $target_tables_keys, $uncommon_tables,$uncommon_tables_fields, $table_index[0], $uncommon_cols, $display); unset($add_column_array[$table_index[0]]); } - if (isset($add_indexes_array[$table_index[0]]) || isset($remove_indexes_array[$table_index[0]]) + if (isset($add_indexes_array[$table_index[0]]) || isset($remove_indexes_array[$table_index[0]]) || isset($alter_indexes_array[$table_index[0]])) { - PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, $alter_indexes_array, - $remove_indexes_array, $table_index[0], $display); - + PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, $alter_indexes_array, + $remove_indexes_array, $table_index[0], $display); + unset($add_indexes_array[$table_index[0]]); unset($alter_indexes_array[$table_index[0]]); unset($remove_indexes_array[$table_index[0]]); @@ -559,16 +559,16 @@ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, if (isset($array_insert[$table_index[0]])) { PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, $trg_link, $table_fields, $array_insert, $table_index[0], $matching_tables_keys, $source_columns, $add_column_array, $criteria, $target_tables_keys, $uncommon_tables, - $uncommon_tables_fields, $uncommon_cols, $alter_str_array, $source_indexes, $target_indexes, $add_indexes_array, - $alter_indexes_array, $delete_array, $update_array, $display); + $uncommon_tables_fields, $uncommon_cols, $alter_str_array, $source_indexes, $target_indexes, $add_indexes_array, + $alter_indexes_array, $delete_array, $update_array, $display); unset($array_insert[$table_index[0]]); - } + } } } if ($field_index < sizeof($table_fields[$matching_table_index])-1) { $insert_query .= ", "; } - } + } $insert_query .= ") VALUES("; if (sizeof($table_fields[$matching_table_index]) == 1) { $insert_query .= "'" . PMA_sqlAddslashes($result[0]) . "'"; @@ -581,35 +581,35 @@ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, } if ($field_index < (sizeof($table_fields[$matching_table_index])) - 1) { $insert_query .= " ," ; - } + } } - } + } $insert_query .= ");"; if ($display == true) { PMA_displayQuery($insert_query); } PMA_DBI_try_query($insert_query, $trg_link, 0); - } + } } } } -} +} /** -* PMA_createTargetTables() Create the missing table $uncommon_table in target database -* +* PMA_createTargetTables() Create the missing table $uncommon_table in target database +* * @uses PMA_DBI_get_fields() * @uses PMA_backquote() * @uses PMA_DBI_fetch_result() -* -* @param $src_db name of source database +* +* @param $src_db name of source database * @param $trg_db name of target database * @param $trg_link connection established with target server * @param $src_link connection established with source server * @param $uncommon_table name of table present in source but not in target -* @param $table_index index of table in matching_table_array +* @param $table_index index of table in matching_table_array * @param $uncommon_tables_fields field names of the uncommon table * @param $display true/false value -*/ +*/ function PMA_createTargetTables($src_db, $trg_db, $src_link, $trg_link, &$uncommon_tables, $table_index, &$uncommon_tables_fields, $display) { if (isset($uncommon_tables[$table_index])) { @@ -619,20 +619,20 @@ function PMA_createTargetTables($src_db, $trg_db, $src_link, $trg_link, &$uncomm $field_name = $each_field['Field']; $fields[] = $field_name; } - $uncommon_tables_fields[$table_index] = $fields; - + $uncommon_tables_fields[$table_index] = $fields; + $Create_Query = PMA_DBI_fetch_value("SHOW CREATE TABLE " . PMA_backquote($src_db) . '.' . PMA_backquote($uncommon_tables[$table_index]), 0, 1, $src_link); // Replace the src table name with a `dbname`.`tablename` - $Create_Table_Query = preg_replace('/' . preg_quote(PMA_backquote($uncommon_tables[$table_index]), '/') . '/', + $Create_Table_Query = preg_replace('/' . preg_quote(PMA_backquote($uncommon_tables[$table_index]), '/') . '/', PMA_backquote($trg_db) . '.' .PMA_backquote($uncommon_tables[$table_index]), $Create_Query, $limit = 1 ); - $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $src_db . "' + $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $src_db . "' AND TABLE_NAME = '" . $uncommon_tables[$table_index] . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;" ; - + $is_fk_result = PMA_DBI_fetch_result($is_fk_query, null, null, $src_link); if (sizeof($is_fk_result) > 0) { for ($j = 0; $j < sizeof($is_fk_result); $j++) @@ -641,14 +641,14 @@ function PMA_createTargetTables($src_db, $trg_db, $src_link, $trg_link, &$uncomm $table_index = array_keys($uncommon_tables, $is_fk_result[$j]['REFERENCED_TABLE_NAME']); PMA_createTargetTables($src_db, $trg_db, $trg_link, $src_link, $uncommon_tables, $table_index[0], $uncommon_tables_fields, $display); unset($uncommon_tables[$table_index[0]]); - } + } } } if ($display == true) { echo '

' . $Create_Table_Query . '

'; } PMA_DBI_try_query($Create_Table_Query, $trg_link, 0); - } + } } /** * PMA_populateTargetTables() inserts data into uncommon tables after they have been created @@ -656,24 +656,24 @@ function PMA_createTargetTables($src_db, $trg_db, $src_link, $trg_link, &$uncomm * @uses PMA_backquote() * @uses sizeof() * @uses PMA_DBI_try_query() -* +* * @param $src_db name of source database * @param $trg_db name of target database * @param $src_link connection established with source server * @param $trg_link connection established with target server -* @param $uncommon_tables array containing uncommon table names (table names that are present in source but not in target db) -* @param $table_index index of table in matching_table_array +* @param $uncommon_tables array containing uncommon table names (table names that are present in source but not in target db) +* @param $table_index index of table in matching_table_array * @param $uncommon_tables_fields field names of the uncommon table * @param $display true/false value * * FIXME: This turns NULL values into '' (empty string) */ -function PMA_populateTargetTables($src_db, $trg_db, $src_link, $trg_link, $uncommon_tables, $table_index, $uncommon_tables_fields, $display) -{ +function PMA_populateTargetTables($src_db, $trg_db, $src_link, $trg_link, $uncommon_tables, $table_index, $uncommon_tables_fields, $display) +{ $display = false; // todo: maybe display some of the queries if they are not too numerous $unbuffered_result = PMA_DBI_try_query('SELECT * FROM ' . PMA_backquote($src_db) . '.' . PMA_backquote($uncommon_tables[$table_index]), $src_link, PMA_DBI_QUERY_UNBUFFERED); if (false !== $unbuffered_result) { - $insert_query = 'INSERT INTO ' . PMA_backquote($trg_db) . '.' .PMA_backquote($uncommon_tables[$table_index]) . ' VALUES'; + $insert_query = 'INSERT INTO ' . PMA_backquote($trg_db) . '.' .PMA_backquote($uncommon_tables[$table_index]) . ' VALUES'; while ($one_row = PMA_DBI_fetch_row($unbuffered_result)) { $insert_query .= '('; $key_of_last_value = count($one_row) - 1; @@ -694,53 +694,53 @@ function PMA_populateTargetTables($src_db, $trg_db, $src_link, $trg_link, $uncom } } /** -* PMA_deleteFromTargetTable() delete rows from target table +* PMA_deleteFromTargetTable() delete rows from target table * @uses sizeof() * @uses PMA_backquote() * @uses PMA_DBI_try_query() -* -* +* +* * @param $trg_db name of target database * @param $trg_link connection established with target server * @param $matching_tables array containing matching table names * @param $table_index index of table in matching_table_array * @param $target_table_keys primary key names of the target tables -* @param $delete array array containing the key values of rows that are to be deleted +* @param $delete array array containing the key values of rows that are to be deleted * @param $display true/false value */ -function PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_index, $target_tables_keys, $delete_array, $display) +function PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_index, $target_tables_keys, $delete_array, $display) { for($i = 0; $i < sizeof($delete_array[$table_index]); $i++) { if (isset($target_tables_keys[$table_index])) { - $delete_query = 'DELETE FROM ' . PMA_backquote($trg_db) . '.' .PMA_backquote($matching_tables[$table_index]) . ' WHERE '; + $delete_query = 'DELETE FROM ' . PMA_backquote($trg_db) . '.' .PMA_backquote($matching_tables[$table_index]) . ' WHERE '; for($y = 0; $y < sizeof($target_tables_keys[$table_index]); $y++) { $delete_query .= $target_tables_keys[$table_index][$y] . " = '"; - + if (sizeof($target_tables_keys[$table_index]) == 1) { - $delete_query .= $delete_array[$table_index][$i] . "'"; + $delete_query .= $delete_array[$table_index][$i] . "'"; } elseif (sizeof($target_tables_keys[$table_index]) > 1) { $delete_query .= $delete_array[$table_index][$i][$target_tables_keys[$table_index][$y]] . "'"; } if ($y < (sizeof($target_tables_keys[$table_index]) - 1)) { $delete_query .= ' AND '; } - $pk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = '" . $trg_db . "' + $pk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = '" . $trg_db . "' AND REFERENCED_TABLE_NAME = '" . $matching_tables[$table_index]."' AND REFERENCED_COLUMN_NAME = '" . $target_tables_keys[$table_index][$y] . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;"; - + $pk_query_result = PMA_DBI_fetch_result($pk_query, null, null, $trg_link); $result_size = sizeof($pk_query_result); - + if ($result_size > 0) { for ($b = 0; $b < $result_size; $b++) { $drop_pk_query = "DELETE FROM " . PMA_backquote($pk_query_result[$b]['TABLE_SCHEMA']) . "." . PMA_backquote($pk_query_result[$b]['TABLE_NAME']) . " WHERE " . $pk_query_result[$b]['COLUMN_NAME'] . " = " . $target_tables_keys[$table_index][$y] . ";"; PMA_DBI_try_query($drop_pk_query, $trg_link, 0); - } - } - } + } + } + } } if ($display == true) { - echo '

' . $delete_query . '

'; + echo '

' . $delete_query . '

'; } PMA_DBI_try_query($delete_query, $trg_link, 0); } @@ -753,45 +753,45 @@ function PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_ * If column exists in target table but criteria is different then it is palced in $alter_str_array. * If column does not exist in source table but is present in target table then it is placed in $uncommon_columns. * Keys for all the source tables that have a corresponding target table are placed in $matching_tables_keys. -* Keys for all the target tables that have a corresponding source table are placed in $target_tables_keys. -* +* Keys for all the target tables that have a corresponding source table are placed in $target_tables_keys. +* * @uses PMA_DBI_get_columns_full() -* @uses sizeof() -* -* @param $src_db name of source database +* @uses sizeof() +* +* @param $src_db name of source database * @param $trg_db name of target database * @param $src_link connection established with source server * @param $trg_link connection established with target server * @param $matching_tables array containing names of matching tables * @param $source_columns array containing columns information of the source tables * @param $target_columns array containing columns information of the target tables -* @param $alter_str_array three dimensional associative array first index being the matching table index, second index being column name for which target +* @param $alter_str_array three dimensional associative array first index being the matching table index, second index being column name for which target * column have some criteria different and third index containing the criteria which is different. -* @param $add_column_array two dimensional associative array, first index of the array contain the matching table number and second index contain the +* @param $add_column_array two dimensional associative array, first index of the array contain the matching table number and second index contain the * column name which is to be added in the target table * @param $uncommon_columns array containing the columns that are present in the target table but not in the source table * @param $criteria array containing the criterias which are to be checked for field that is present in source table and target table * @param $target_tables_keys array containing the field names which is key in the target table -* @param $matching_table_index integer number of the matching table -* +* @param $matching_table_index integer number of the matching table +* */ function PMA_structureDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matching_tables, &$source_columns, &$target_columns, &$alter_str_array, - &$add_column_array, &$uncommon_columns, $criteria, &$target_tables_keys, $matching_table_index) + &$add_column_array, &$uncommon_columns, $criteria, &$target_tables_keys, $matching_table_index) { //Gets column information for source and target table $source_columns[$matching_table_index] = PMA_DBI_get_columns_full($src_db, $matching_tables[$matching_table_index], null, $src_link); $target_columns[$matching_table_index] = PMA_DBI_get_columns_full($trg_db, $matching_tables[$matching_table_index], null, $trg_link); foreach ($source_columns[$matching_table_index] as $column_name => $each_column) { if (isset($target_columns[$matching_table_index][$column_name]['Field'])) { - //If column exists in target table then matches criterias like type, null, collation, key, default, comment of the column + //If column exists in target table then matches criterias like type, null, collation, key, default, comment of the column for ($i = 0; $i < sizeof($criteria); $i++) { if ($source_columns[$matching_table_index][$column_name][$criteria[$i]] != $target_columns[$matching_table_index][$column_name][$criteria[$i]]) { if (($criteria[$i] == 'Default') && ($source_columns[$matching_table_index][$column_name][$criteria[$i]] == '' )) { - $alter_str_array[$matching_table_index][$column_name][$criteria[$i]] = 'None'; + $alter_str_array[$matching_table_index][$column_name][$criteria[$i]] = 'None'; } else { if (! (($criteria[$i] == 'Key') && (($source_columns[$matching_table_index][$column_name][$criteria[$i]] == 'MUL') - || ($target_columns[$matching_table_index][$column_name][$criteria[$i]] == 'MUL') - || ($source_columns[$matching_table_index][$column_name][$criteria[$i]] == 'UNI') + || ($target_columns[$matching_table_index][$column_name][$criteria[$i]] == 'MUL') + || ($source_columns[$matching_table_index][$column_name][$criteria[$i]] == 'UNI') || ($target_columns[$matching_table_index][$column_name][$criteria[$i]] == 'UNI')))) { $alter_str_array[$matching_table_index][$column_name][$criteria[$i]] = $source_columns[$matching_table_index][$column_name][$criteria[$i]]; } @@ -805,17 +805,17 @@ function PMA_structureDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matc //Finds column names that are present in target table but not in source table foreach ($target_columns[$matching_table_index] as $fld_name => $each_column) { if (! (isset($source_columns[$matching_table_index][$fld_name]['Field']))) { - $fields_uncommon[] = $fld_name; + $fields_uncommon[] = $fld_name; } if ($target_columns[$matching_table_index][$fld_name]['Key'] == 'PRI') { $keys[] = $fld_name; } } if (isset($fields_uncommon)) { - $uncommon_columns[$matching_table_index] = $fields_uncommon; + $uncommon_columns[$matching_table_index] = $fields_uncommon; } if (isset($keys)) { - $target_tables_keys[$matching_table_index] = $keys; + $target_tables_keys[$matching_table_index] = $keys; } } /** @@ -827,8 +827,8 @@ function PMA_structureDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matc * @uses PMA_createTargetTables() * @uses PMA_DBI_try_query() * @uses PMA_DBI_fetch_result() -* -* @param $src_db name of source database +* +* @param $src_db name of source database * @param $trg_db name of target database * @param $src_link connection established with source server * @param $trg_link connection established with target server @@ -836,7 +836,7 @@ function PMA_structureDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matc * @param $source_columns array containing columns information of the source tables * @param $add_column_array array containing the names of the column(field) that are to be added in the target * @param $matching_tables_fields -* @param $criteria array containing the criterias +* @param $criteria array containing the criterias * @param $matching_tables_keys array containing the field names which is key in the source table * @param $target_tables_keys array containing the field names which is key in the target table * @param $uncommon_tables array containing the table names that are present in source db and not in target db @@ -852,11 +852,11 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma if (isset($add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]])) { $query = "ALTER TABLE " . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$table_counter]). " ADD COLUMN " . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . " " . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Type']; - + if($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Null'] == 'NO') { $query .= ' Not Null '; } elseif ($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Null'] == 'YES') { - $query .= ' Null '; + $query .= ' Null '; } if ($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Collation'] != '') { $query .= ' COLLATE ' . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Collation']; @@ -865,21 +865,21 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma $query .= " DEFAULT " . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Default']; } if ($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Comment'] != '') { - $query .= " COMMENT " . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Comment']; - } - if ($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Key'] == 'PRI' ) { + $query .= " COMMENT " . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Comment']; + } + if ($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Key'] == 'PRI' ) { $trg_key_size = sizeof($target_tables_keys[$table_counter]); if ($trg_key_size) { $check = true; - for ($a = 0; ($a < $trg_key_size) && ($check); $a++) { + for ($a = 0; ($a < $trg_key_size) && ($check); $a++) { if (! (in_array($target_tables_keys[$table_counter], $uncommon_cols))) { $check = false; - } + } } if (! $check) { - $query .= " ,DROP PRIMARY KEY " ; + $query .= " ,DROP PRIMARY KEY " ; } - } + } $query .= " , ADD PRIMARY KEY ("; for ($t = 0; $t < sizeof($matching_tables_keys[$table_counter]); $t++) { $query .= $matching_tables_keys[$table_counter][$t]; @@ -889,21 +889,21 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma } $query .= ")"; } - + $query .= ";"; if ($display == true) { echo '

' . $query . '

'; } PMA_DBI_try_query($query, $trg_link, 0); - + //Checks if column to be added is a foreign key or not $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db . "' AND TABLE_NAME = '" . $matching_tables[$table_counter] . "' AND COLUMN_NAME ='" . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;"; - + $is_fk_result = PMA_DBI_fetch_result($is_fk_query, null, null, $src_link); - - //If column is a foreign key then it is checked that referenced table exist in target db. If referenced table does not exist in target db then + + //If column is a foreign key then it is checked that referenced table exist in target db. If referenced table does not exist in target db then //it is created first. if (isset($is_fk_result)) { if (in_array($is_fk_result[0]['REFERENCED_TABLE_NAME'], $uncommon_tables)) { @@ -912,12 +912,12 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma PMA_createTargetTables($src_db, $trg_db, $trg_link, $src_link, $uncommon_tables, $table_index[0], $uncommon_tables_fields); unset($uncommon_tables[$table_index[0]]); } - $fk_query = "ALTER TABLE " . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$table_counter]) . - "ADD CONSTRAINT FOREIGN KEY " . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . " + $fk_query = "ALTER TABLE " . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$table_counter]) . + "ADD CONSTRAINT FOREIGN KEY " . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . " (" . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . ") REFERENCES " . PMA_backquote($trg_db) . '.' . PMA_backquote($is_fk_result[0]['REFERENCED_TABLE_NAME']) . " (" . $is_fk_result[0]['REFERENCED_COLUMN_NAME'] . ");"; - - PMA_DBI_try_query($fk_query, $trg_link, null); + + PMA_DBI_try_query($fk_query, $trg_link, null); } } } @@ -929,31 +929,31 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma * @uses array_keys() * @uses PMA_checkForeignKeys() * uses PMA_createTargetTables() -* +* * @param $src_db name of source database * @param $src_link connection established with source server * @param $trg_db name of target database * @param $trg_link connection established with target server * @param $referenced_table table whose column is a foreign key in another table -* @param $uncommon_tables array containing names that are uncommon +* @param $uncommon_tables array containing names that are uncommon * @param $uncommon_tables_fields field names of the uncommon table * @param $display true/false value */ function PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link ,$referenced_table, &$uncommon_tables, &$uncommon_tables_fields, $display) { - $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $src_db . "' + $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $src_db . "' AND TABLE_NAME = '" . $referenced_table . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;"; - + $is_fk_result = PMA_DBI_fetch_result($is_fk_query, null, null, $src_link); if (sizeof($is_fk_result) > 0) { for ($j = 0; $j < sizeof($is_fk_result); $j++) { if (in_array($is_fk_result[$j]['REFERENCED_TABLE_NAME'], $uncommon_tables)) { $table_index = array_keys($uncommon_tables, $is_fk_result[$j]['REFERENCED_TABLE_NAME']); - PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link, $is_fk_result[$j]['REFERENCED_TABLE_NAME'], $uncommon_tables, - $uncommon_tables_fields, $display); + PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link, $is_fk_result[$j]['REFERENCED_TABLE_NAME'], $uncommon_tables, + $uncommon_tables_fields, $display); PMA_createTargetTables($src_db, $trg_db, $trg_link, $src_link, $uncommon_tables, $table_index[0], $uncommon_tables_fields, $display); unset($uncommon_tables[$table_index[0]]); - } + } } } } @@ -964,14 +964,14 @@ function PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link ,$reference * @uses is_string() * @uses is_numeric() * @uses PMA_DBI_try_query() -* -* +* +* * @param $trg_db name of target database * @param $trg_link connection established with target server * @param $matching_tables array containing names of matching tables * @param $source_columns array containing columns information of the source table * @param $alter_str_array array containing the column name and criteria which is to be altered for the targert table -* @param $matching_tables_fields array containing the name of the fields for the matching table +* @param $matching_tables_fields array containing the name of the fields for the matching table * @param $criteria array containing the criterias * @param $matching_tables_keys array containing the field names which is key in the source table * @param $target_tables_keys array containing the field names which is key in the target table @@ -979,7 +979,7 @@ function PMA_checkForeignKeys($src_db, $src_link, $trg_db, $trg_link ,$reference * @param $display true/false value */ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$source_columns, &$alter_str_array, $matching_tables_fields, $criteria, - &$matching_tables_keys, &$target_tables_keys, $matching_table_index, $display) + &$matching_tables_keys, &$target_tables_keys, $matching_table_index, $display) { $check = true; $sql_query = ''; @@ -1008,22 +1008,22 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s } $pri_query .= ");"; } - + if (isset($pri_query)) { if ($display == true) { echo '

' . $pri_query . '

'; } - PMA_DBI_try_query($pri_query, $trg_link, 0); + PMA_DBI_try_query($pri_query, $trg_link, 0); } for ($t = 0; $t < sizeof($matching_tables_fields[$matching_table_index]); $t++) { if ((isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]])) && (sizeof($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]) > 0)) { - $sql_query = 'ALTER TABLE ' . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$matching_table_index]) . ' MODIFY ' . - $matching_tables_fields[$matching_table_index][$t] . ' ' . $source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type']; + $sql_query = 'ALTER TABLE ' . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$matching_table_index]) . ' MODIFY ' . + $matching_tables_fields[$matching_table_index][$t] . ' ' . $source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type']; $found = false; for ($i = 0; $i < sizeof($criteria); $i++) { if (isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]]) && $criteria[$i] != 'Key') { - $found = true; + $found = true; if (($criteria[$i] == 'Type') && (! isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i+1]]))) { if ($source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i + 1]] == 'NO') { $sql_query .= " Not Null" ; @@ -1049,12 +1049,12 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s } elseif($criteria[$i] == 'Default') { if(! (isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[2]]))) { $sql_query .= " Not Null " ; - } + } if (is_string($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]])) { if ($source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type'] != 'timestamp') { $sql_query .= " DEFAULT '" . $alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]] . "'"; } elseif($source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type'] == 'timestamp') { - $sql_query .= " DEFAULT " . $alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]]; + $sql_query .= " DEFAULT " . $alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]]; } } elseif (is_numeric($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]])) { $sql_query .= " DEFAULT " . $alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]][$criteria[$i]]; @@ -1092,7 +1092,7 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s if ($check) { if ($display == true) { echo '

' . $query . '

'; - } + } PMA_DBI_try_query($query, $trg_link, 0); } } @@ -1101,13 +1101,13 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s * PMA_removeColumnsFromTargetTable() removes the columns which are present in target table but not in source table. * @uses sizeof() * @uses PMA_DBI_try_query() -* @uses PMA_DBI_fetch_result() -* +* @uses PMA_DBI_fetch_result() +* * @param $trg_db name of target database * @param $trg_link connection established with target server * @param $matching_tables array containing names of matching tables * @param $uncommon_columns array containing the names of the column which are to be dropped from the target table -* @param $table_counter index of the matching table as in $matchiing_tables array +* @param $table_counter index of the matching table as in $matchiing_tables array * @param $display true/false value */ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, $uncommon_columns, $table_counter, $display) @@ -1116,21 +1116,21 @@ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, $drop_query = "ALTER TABLE " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_tables[$table_counter]); for ($a = 0; $a < sizeof($uncommon_columns[$table_counter]); $a++) { //Checks if column to be removed is a foreign key in any table - $pk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = '" . $trg_db . "' + $pk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = '" . $trg_db . "' AND REFERENCED_TABLE_NAME = '" . $matching_tables[$table_counter]."' AND REFERENCED_COLUMN_NAME = '" . $uncommon_columns[$table_counter][$a] . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;"; - + $pk_query_result = PMA_DBI_fetch_result($pk_query, null, null, $trg_link); $result_size = sizeof($pk_query_result); - + if ($result_size > 0) { for ($b = 0; $b < $result_size; $b++) { $drop_pk_query = "ALTER TABLE " . PMA_backquote($pk_query_result[$b]['TABLE_SCHEMA']) . "." . PMA_backquote($pk_query_result[$b]['TABLE_NAME']) . " DROP FOREIGN KEY " . $pk_query_result[$b]['CONSTRAINT_NAME'] . ", DROP COLUMN " . $pk_query_result[$b]['COLUMN_NAME'] . ";"; - PMA_DBI_try_query($drop_pk_query, $trg_link, 0); - } - } - $query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db . "' AND TABLE_NAME = '" + PMA_DBI_try_query($drop_pk_query, $trg_link, 0); + } + } + $query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db . "' AND TABLE_NAME = '" . $matching_tables[$table_counter]. "' AND COLUMN_NAME = '" . $uncommon_columns[$table_counter][$a] . "' AND TABLE_NAME <> REFERENCED_TABLE_NAME;"; @@ -1142,41 +1142,41 @@ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, $drop_query .= " DROP COLUMN " . $uncommon_columns[$table_counter][$a]; if ($a < (sizeof($uncommon_columns[$table_counter]) - 1)) { $drop_query .= " , " ; - } + } } $drop_query .= ";" ; - + if ($display == true) { echo '

' . $drop_query . '

'; } - PMA_DBI_try_query($drop_query, $trg_link, 0); - } -} + PMA_DBI_try_query($drop_query, $trg_link, 0); + } +} /** * PMA_indexesDiffInTables() compares the source table indexes with target table indexes and keep the indexes to be added in target table in $add_indexes_array * indexes to be altered in $alter_indexes_array and indexes to be removed from target table in $remove_indexes_array. * Only keyname and uniqueness characteristic of the indexes are altered. * @uses sizeof() * @uses PMA_DBI_get_table_indexes() -* -* @param $src_db name of source database +* +* @param $src_db name of source database * @param $trg_db name of target database * @param $src_link connection established with source server * @param $trg_link connection established with target server * @param $matching_tables array containing the matching tables name -* @param $source_indexes array containing the indexes of the source table +* @param $source_indexes array containing the indexes of the source table * @param $target_indexes array containing the indexes of the target table * @param $add_indexes_array array containing the name of the column on which the index is to be added in the target table * @param $alter_indexes_array array containing the key name which needs to be altered * @param $remove_indexes_array array containing the key name of the index which is to be removed from the target table -* @param $table_counter number of the matching table +* @param $table_counter number of the matching table */ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matching_tables, &$source_indexes, &$target_indexes, &$add_indexes_array, &$alter_indexes_array, &$remove_indexes_array, $table_counter) { //Gets indexes information for source and target table $source_indexes[$table_counter] = PMA_DBI_get_table_indexes($src_db, $matching_tables[$table_counter],$src_link); - $target_indexes[$table_counter] = PMA_DBI_get_table_indexes($trg_db, $matching_tables[$table_counter],$trg_link); + $target_indexes[$table_counter] = PMA_DBI_get_table_indexes($trg_db, $matching_tables[$table_counter],$trg_link); for ($a = 0; $a < sizeof($source_indexes[$table_counter]); $a++) { $found = false; $z = 0; @@ -1194,15 +1194,15 @@ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matchi } } } - $z++; + $z++; } if ($found === false) { if(! ($source_indexes[$table_counter][$a]['Key_name'] == 'PRIMARY')) { - $add_indexes_array [$table_counter][] = $source_indexes[$table_counter][$a]['Column_name']; + $add_indexes_array [$table_counter][] = $source_indexes[$table_counter][$a]['Column_name']; } } } - + //Finds indexes that exist on target table but not on source table for ($b = 0; $b < sizeof($target_indexes[$table_counter]); $b++) { $found = false; @@ -1212,31 +1212,31 @@ function PMA_indexesDiffInTables($src_db, $trg_db, $src_link, $trg_link, $matchi if ($target_indexes[$table_counter][$b]['Column_name'] == $source_indexes[$table_counter][$c]['Column_name']) { $found = true; } - $c++; + $c++; } if ($found === false) { - $remove_indexes_array[$table_counter][] = $target_indexes[$table_counter][$b]['Key_name']; + $remove_indexes_array[$table_counter][] = $target_indexes[$table_counter][$b]['Key_name']; } } } /** -* PMA_applyIndexesDiff() create indexes, alters indexes and remove indexes. +* PMA_applyIndexesDiff() create indexes, alters indexes and remove indexes. * @uses sizeof() * @uses PMA_DBI_try_query() -* +* * @param $trg_db name of target database * @param $trg_link connection established with target server * @param $matching_tables array containing the matching tables name -* @param $source_indexes array containing the indexes of the source table +* @param $source_indexes array containing the indexes of the source table * @param $target_indexes array containing the indexes of the target table * @param $add_indexes_array array containing the column names on which indexes are to be created in target table * @param $alter_indexes_array array containing the column names for which indexes are to be altered * @param $remove_indexes_array array containing the key name of the indexes which are to be removed from the target table -* @param $table_counter number of the matching table +* @param $table_counter number of the matching table * @param $display true/false value */ -function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, $alter_indexes_array, +function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_indexes, $target_indexes, $add_indexes_array, $alter_indexes_array, $remove_indexes_array, $table_counter, $display) { //Adds indexes on target table @@ -1244,7 +1244,7 @@ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_ind $sql = "ALTER TABLE " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_tables[$table_counter]) . " ADD" ; for ($a = 0; $a < sizeof($source_indexes[$table_counter]); $a++) { if (isset($add_indexes_array[$table_counter][$a])) { - for ($b = 0; $b < sizeof($source_indexes[$table_counter]); $b++) { + for ($b = 0; $b < sizeof($source_indexes[$table_counter]); $b++) { if ($source_indexes[$table_counter][$b]['Column_name'] == $add_indexes_array[$table_counter][$a]) { if ($source_indexes[$table_counter][$b]['Non_unique'] == '0') { $sql .= " UNIQUE "; @@ -1265,9 +1265,9 @@ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_ind $query = "ALTER TABLE " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_tables[$table_counter]); for ($a = 0; $a < sizeof($alter_indexes_array[$table_counter]); $a++) { if (isset($alter_indexes_array[$table_counter][$a])) { - $query .= ' DROP INDEX ' . PMA_backquote($alter_indexes_array[$table_counter][$a]) . " , ADD "; + $query .= ' DROP INDEX ' . PMA_backquote($alter_indexes_array[$table_counter][$a]) . " , ADD "; $got_first_index_column = false; - for ($z = 0; $z < sizeof($source_indexes[$table_counter]); $z++) { + for ($z = 0; $z < sizeof($source_indexes[$table_counter]); $z++) { if ($source_indexes[$table_counter][$z]['Key_name'] == $alter_indexes_array[$table_counter][$a]) { if (! $got_first_index_column) { if ($source_indexes[$table_counter][$z]['Non_unique'] == '0') { @@ -1294,26 +1294,26 @@ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_ind $drop_index_query = "ALTER TABLE " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_tables[$table_counter]); for ($a = 0; $a < sizeof($target_indexes[$table_counter]); $a++) { if (isset($remove_indexes_array[$table_counter][$a])) { - $drop_index_query .= " DROP INDEX " . $remove_indexes_array[$table_counter][$a]; + $drop_index_query .= " DROP INDEX " . $remove_indexes_array[$table_counter][$a]; } if ($a < (sizeof($remove_indexes_array[$table_counter]) - 1)) { $drop_index_query .= " , " ; } } - $drop_index_query .= " ; " ; + $drop_index_query .= " ; " ; if ($display == true) { echo '

' . $drop_index_query . '

'; } - PMA_DBI_try_query($drop_index_query, $trg_link, 0); + PMA_DBI_try_query($drop_index_query, $trg_link, 0); } } /** * PMA_displayQuery() displays a query, taking the maximum display size - * into account - * @uses $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] - * - * @param $query the query to display + * into account + * @uses $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] + * + * @param $query the query to display */ function PMA_displayQuery($query) { if (strlen($query) > $GLOBALS['cfg']['MaxCharactersInDisplayedSQL']) { @@ -1323,11 +1323,11 @@ function PMA_displayQuery($query) { } /** - * PMA_syncDisplayHeaderSource() shows the header for source database - * @uses $_SESSION['src_type'] - * @uses $_SESSION['src_server']['host'] + * PMA_syncDisplayHeaderSource() shows the header for source database + * @uses $_SESSION['src_type'] + * @uses $_SESSION['src_server']['host'] * - * @param string $src_db source db name + * @param string $src_db source db name */ function PMA_syncDisplayHeaderSource($src_db) { echo '
'; @@ -1347,12 +1347,12 @@ function PMA_syncDisplayHeaderSource($src_db) { /** * PMA_syncDisplayHeaderTargetAndMatchingTables() shows the header for target database and the matching tables - * @uses $_SESSION['trg_type'] - * @uses $_SESSION['trg_server']['host'] - * - * @param string $trg_db target db name + * @uses $_SESSION['trg_type'] + * @uses $_SESSION['trg_server']['host'] + * + * @param string $trg_db target db name * @param array $matching_tables - * @return boolean $odd_row current value of this toggle + * @return boolean $odd_row current value of this toggle */ function PMA_syncDisplayHeaderTargetAndMatchingTables($trg_db, $matching_tables) { echo ''; @@ -1375,10 +1375,10 @@ function PMA_syncDisplayHeaderTargetAndMatchingTables($trg_db, $matching_tables) } /** - * PMA_syncDisplayBeginTableRow() displays the TR tag for alternating colors - * - * @param boolean $odd_row current status of the toggle - * @return boolean $odd_row final status of the toggle + * PMA_syncDisplayBeginTableRow() displays the TR tag for alternating colors + * + * @param boolean $odd_row current status of the toggle + * @return boolean $odd_row final status of the toggle */ function PMA_syncDisplayBeginTableRow($odd_row) { $odd_row = ! $odd_row; From 81f6766f962d6cea3742f3936032d234e6ce9d53 Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Sun, 20 Nov 2011 22:18:55 +0530 Subject: [PATCH 3/4] bug #3439292 [core] Fail to synchronize column with name of keyword --- ChangeLog | 1 + libraries/server_synchronize.lib.php | 41 ++++++++++++++-------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9940711991..6bbc4e648c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,7 @@ phpMyAdmin - ChangeLog - patch #3437354 [core] Notice: Array to string conversion in PHP 5.4 - [interface] When ShowTooltipAliasTB is true, VIEW is wrongly shown as the view name in main panel db Structure page +- bug #3439292 [core] Fail to synchronize column with name of keyword 3.4.7.1 (2011-11-10) - [security] Fixed possible local file inclusion in XML import diff --git a/libraries/server_synchronize.lib.php b/libraries/server_synchronize.lib.php index d53d4f42be..c1b9159a7e 100644 --- a/libraries/server_synchronize.lib.php +++ b/libraries/server_synchronize.lib.php @@ -144,10 +144,10 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching . PMA_backquote($matching_table[$matching_table_index]) . " WHERE "; if (sizeof($is_key) == 1) { - $trg_select_query .= $is_key[0]. "='" . $source_result_set[$j] . "'"; + $trg_select_query .= PMA_backquote($is_key[0]). "='" . $source_result_set[$j] . "'"; } elseif (sizeof($is_key) > 1){ for ($k=0; $k < sizeof($is_key); $k++) { - $trg_select_query .= $is_key[$k] . "='" . $source_result_set[$j][$is_key[$k]] . "'"; + $trg_select_query .= PMA_backquote($is_key[$k]) . "='" . $source_result_set[$j][$is_key[$k]] . "'"; if ($k < (sizeof($is_key)-1)){ $trg_select_query .= " AND "; } @@ -162,10 +162,10 @@ function PMA_dataDiffInTables($src_db, $trg_db, $src_link, $trg_link, &$matching . PMA_backquote($matching_table[$matching_table_index]) . " WHERE "; if (sizeof($is_key) == 1) { - $src_select_query .= $is_key[0] . "='" . $source_result_set[$j] . "'"; + $src_select_query .= PMA_backquote($is_key[0]) . "='" . $source_result_set[$j] . "'"; } else if(sizeof($is_key) > 1){ for ($k=0; $k< sizeof($is_key); $k++) { - $src_select_query .= $is_key[$k] . "='" . $source_result_set[$j][$is_key[$k]] . "'"; + $src_select_query .= PMA_backquote($is_key[$k]) . "='" . $source_result_set[$j][$is_key[$k]] . "'"; if ($k < (sizeof($is_key) - 1)){ $src_select_query .= " AND "; } @@ -422,7 +422,7 @@ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_li for ($update_field = 0; $update_field < $update_fields_num; $update_field = $update_field+2) { if (isset($update_array[$matching_table_index][$update_row][$update_field]) && isset($update_array[$matching_table_index][$update_row][$update_field+1])) { - $query .= $update_array[$matching_table_index][$update_row][$update_field] . "='" . $update_array[$matching_table_index][$update_row][$update_field+1] . "'"; + $query .= PMA_backquote($update_array[$matching_table_index][$update_row][$update_field]) . "='" . $update_array[$matching_table_index][$update_row][$update_field+1] . "'"; } if ($update_field < ($update_fields_num - 2)) { $query .= ", "; @@ -434,7 +434,7 @@ function PMA_updateTargetTables($table, $update_array, $src_db, $trg_db, $trg_li { if (isset($matching_table_keys[$matching_table_index][$key])) { - $query .= $matching_table_keys[$matching_table_index][$key] . "='" . $update_array[$matching_table_index][$update_row][$matching_table_keys[$matching_table_index][$key]] . "'"; + $query .= PMA_backquote($matching_table_keys[$matching_table_index][$key]) . "='" . $update_array[$matching_table_index][$update_row][$matching_table_keys[$matching_table_index][$key]] . "'"; } if ($key < (sizeof($matching_table_keys[$matching_table_index]) - 1)) { $query .= " AND "; @@ -508,7 +508,7 @@ function PMA_insertIntoTargetTable($matching_table, $src_db, $trg_db, $src_link, for ($field_index = 0; $field_index < sizeof($table_fields[$matching_table_index]); $field_index++) { - $insert_query .= $table_fields[$matching_table_index][$field_index]; + $insert_query .= PMA_backquote($table_fields[$matching_table_index][$field_index]); $is_fk_query = "SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" . $trg_db ."' AND TABLE_NAME = '" . $matching_table[$matching_table_index]. "'AND COLUMN_NAME = '" . @@ -714,7 +714,8 @@ function PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_ if (isset($target_tables_keys[$table_index])) { $delete_query = 'DELETE FROM ' . PMA_backquote($trg_db) . '.' .PMA_backquote($matching_tables[$table_index]) . ' WHERE '; for($y = 0; $y < sizeof($target_tables_keys[$table_index]); $y++) { - $delete_query .= $target_tables_keys[$table_index][$y] . " = '"; + + $delete_query .= PMA_backquote($target_tables_keys[$table_index][$y]) . " = '"; if (sizeof($target_tables_keys[$table_index]) == 1) { $delete_query .= $delete_array[$table_index][$i] . "'"; @@ -733,7 +734,7 @@ function PMA_deleteFromTargetTable($trg_db, $trg_link, $matching_tables, $table_ if ($result_size > 0) { for ($b = 0; $b < $result_size; $b++) { - $drop_pk_query = "DELETE FROM " . PMA_backquote($pk_query_result[$b]['TABLE_SCHEMA']) . "." . PMA_backquote($pk_query_result[$b]['TABLE_NAME']) . " WHERE " . $pk_query_result[$b]['COLUMN_NAME'] . " = " . $target_tables_keys[$table_index][$y] . ";"; + $drop_pk_query = "DELETE FROM " . PMA_backquote($pk_query_result[$b]['TABLE_SCHEMA']) . "." . PMA_backquote($pk_query_result[$b]['TABLE_NAME']) . " WHERE " . PMA_backquote($pk_query_result[$b]['COLUMN_NAME']) . " = " . $target_tables_keys[$table_index][$y] . ";"; PMA_DBI_try_query($drop_pk_query, $trg_link, 0); } } @@ -851,7 +852,7 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma for ($i = 0; $i < sizeof($matching_tables_fields[$table_counter]); $i++) { if (isset($add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]])) { $query = "ALTER TABLE " . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$table_counter]). " ADD COLUMN " . - $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . " " . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Type']; + PMA_backquote($add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]]) . " " . $source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Type']; if($source_columns[$table_counter][$matching_tables_fields[$table_counter][$i]]['Null'] == 'NO') { $query .= ' Not Null '; @@ -882,7 +883,7 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma } $query .= " , ADD PRIMARY KEY ("; for ($t = 0; $t < sizeof($matching_tables_keys[$table_counter]); $t++) { - $query .= $matching_tables_keys[$table_counter][$t]; + $query .= PMA_backquote($matching_tables_keys[$table_counter][$t]); if ($t < (sizeof($matching_tables_keys[$table_counter]) - 1)) { $query .= " , " ; } @@ -913,7 +914,7 @@ function PMA_addColumnsInTargetTable($src_db, $trg_db, $src_link, $trg_link, $ma unset($uncommon_tables[$table_index[0]]); } $fk_query = "ALTER TABLE " . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$table_counter]) . - "ADD CONSTRAINT FOREIGN KEY " . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . " + "ADD CONSTRAINT FOREIGN KEY " . PMA_backquote($add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]]) . " (" . $add_column_array[$table_counter][$matching_tables_fields[$table_counter][$i]] . ") REFERENCES " . PMA_backquote($trg_db) . '.' . PMA_backquote($is_fk_result[0]['REFERENCED_TABLE_NAME']) . " (" . $is_fk_result[0]['REFERENCED_COLUMN_NAME'] . ");"; @@ -1001,7 +1002,7 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s } $pri_query .= " ADD PRIMARY KEY ("; for ($z = 0; $z < sizeof($matching_tables_keys[$matching_table_index]); $z++) { - $pri_query .= $matching_tables_keys[$matching_table_index][$z]; + $pri_query .= PMA_backquote($matching_tables_keys[$matching_table_index][$z]); if ($z < (sizeof($matching_tables_keys[$matching_table_index]) - 1)) { $pri_query .= " , " ; } @@ -1018,7 +1019,7 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s for ($t = 0; $t < sizeof($matching_tables_fields[$matching_table_index]); $t++) { if ((isset($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]])) && (sizeof($alter_str_array[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]) > 0)) { $sql_query = 'ALTER TABLE ' . PMA_backquote($trg_db) . '.' . PMA_backquote($matching_tables[$matching_table_index]) . ' MODIFY ' . - $matching_tables_fields[$matching_table_index][$t] . ' ' . $source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type']; + PMA_backquote($matching_tables_fields[$matching_table_index][$t]) . ' ' . $source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$t]]['Type']; $found = false; for ($i = 0; $i < sizeof($criteria); $i++) { @@ -1082,7 +1083,7 @@ function PMA_alterTargetTableStructure($trg_db, $trg_link, $matching_tables, &$s for($p = 0; $p < sizeof($matching_tables_keys[$matching_table_index]); $p++) { if ((isset($alter_str_array[$matching_table_index][$matching_tables_keys[$matching_table_index][$p]]['Key']))) { $check = true; - $query .= ' MODIFY ' . $matching_tables_keys[$matching_table_index][$p] . ' ' + $query .= ' MODIFY ' . PMA_backquote($matching_tables_keys[$matching_table_index][$p]) . ' ' . $source_columns[$matching_table_index][$matching_tables_fields[$matching_table_index][$p]]['Type'] . ' Not Null '; if ($p < (sizeof($matching_tables_keys[$matching_table_index]) - 1)) { $query .= ', '; @@ -1126,7 +1127,7 @@ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, if ($result_size > 0) { for ($b = 0; $b < $result_size; $b++) { $drop_pk_query = "ALTER TABLE " . PMA_backquote($pk_query_result[$b]['TABLE_SCHEMA']) . "." . PMA_backquote($pk_query_result[$b]['TABLE_NAME']) . " - DROP FOREIGN KEY " . $pk_query_result[$b]['CONSTRAINT_NAME'] . ", DROP COLUMN " . $pk_query_result[$b]['COLUMN_NAME'] . ";"; + DROP FOREIGN KEY " . PMA_backquote($pk_query_result[$b]['CONSTRAINT_NAME']) . ", DROP COLUMN " . PMA_backquote($pk_query_result[$b]['COLUMN_NAME']) . ";"; PMA_DBI_try_query($drop_pk_query, $trg_link, 0); } } @@ -1137,9 +1138,9 @@ function PMA_removeColumnsFromTargetTable($trg_db, $trg_link, $matching_tables, $result = PMA_DBI_fetch_result($query, null, null, $trg_link); if (sizeof($result) > 0) { - $drop_query .= " DROP FOREIGN KEY " . $result[0]['CONSTRAINT_NAME'] . ","; + $drop_query .= " DROP FOREIGN KEY " . PMA_backquote($result[0]['CONSTRAINT_NAME']) . ","; } - $drop_query .= " DROP COLUMN " . $uncommon_columns[$table_counter][$a]; + $drop_query .= " DROP COLUMN " . PMA_backquote($uncommon_columns[$table_counter][$a]); if ($a < (sizeof($uncommon_columns[$table_counter]) - 1)) { $drop_query .= " , " ; } @@ -1249,7 +1250,7 @@ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_ind if ($source_indexes[$table_counter][$b]['Non_unique'] == '0') { $sql .= " UNIQUE "; } - $sql .= " INDEX " . $source_indexes[$table_counter][$b]['Key_name'] . " (" . $add_indexes_array[$table_counter][$a] . " );"; + $sql .= " INDEX " . PMA_backquote($source_indexes[$table_counter][$b]['Key_name']) . " (" . $add_indexes_array[$table_counter][$a] . " );"; if ($display == true) { echo '

' . $sql . '

'; } @@ -1294,7 +1295,7 @@ function PMA_applyIndexesDiff ($trg_db, $trg_link, $matching_tables, $source_ind $drop_index_query = "ALTER TABLE " . PMA_backquote($trg_db) . "." . PMA_backquote($matching_tables[$table_counter]); for ($a = 0; $a < sizeof($target_indexes[$table_counter]); $a++) { if (isset($remove_indexes_array[$table_counter][$a])) { - $drop_index_query .= " DROP INDEX " . $remove_indexes_array[$table_counter][$a]; + $drop_index_query .= " DROP INDEX " . PMA_backquote($remove_indexes_array[$table_counter][$a]); } if ($a < (sizeof($remove_indexes_array[$table_counter]) - 1)) { $drop_index_query .= " , " ; From b5c2473afa5171ea67490bd500009d5dc39ff84c Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Sun, 20 Nov 2011 23:01:58 +0530 Subject: [PATCH 4/4] bug #3431427: Fix for enum and set columns --- js/tbl_change.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/js/tbl_change.js b/js/tbl_change.js index 8cb710a10f..bfe593474c 100644 --- a/js/tbl_change.js +++ b/js/tbl_change.js @@ -26,10 +26,9 @@ function nullify(theType, urlField, md5Field, multi_edit) rowForm.elements['funcs' + multi_edit + '[' + md5Field + ']'].selectedIndex = -1; } - // "SET" field , "ENUM" field with more than 20 characters - // or foreign key field (drop-down) - if (theType == 1 || theType == 3 || theType == 4) { - rowForm.elements['fields' + multi_edit + '[' + md5Field + ']'].selectedIndex = -1; + // "ENUM" field with more than 20 characters + if (theType == 1) { + rowForm.elements['fields' + multi_edit + '[' + md5Field + ']'][1].selectedIndex = -1; } // Other "ENUM" field else if (theType == 2) { @@ -45,6 +44,14 @@ function nullify(theType, urlField, md5Field, multi_edit) } // end if } + // "SET" field + else if (theType == 3) { + rowForm.elements['fields' + multi_edit + '[' + md5Field + '][]'].selectedIndex = -1; + } + // Foreign key field (drop-down) + else if (theType == 4) { + rowForm.elements['fields' + multi_edit + '[' + md5Field + ']'].selectedIndex = -1; + } // foreign key field (with browsing icon for foreign values) else if (theType == 6) { rowForm.elements['fields' + multi_edit + '[' + md5Field + ']'].value = '';