From da0ce8fbec5f40878e22d4b4d7fe7c69d3e0e43d Mon Sep 17 00:00:00 2001 From: Robin Johnson Date: Tue, 28 Aug 2001 01:25:24 +0000 Subject: [PATCH] lib.inc.php3, db_readdump.php3: removed expand_sql_query() as no longer needed --- ChangeLog | 4 ++ db_readdump.php3 | 5 --- lib.inc.php3 | 104 ----------------------------------------------- 3 files changed, 4 insertions(+), 109 deletions(-) diff --git a/ChangeLog b/ChangeLog index e3dda8ccf..1e21477c8 100755 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ phpMyAdmin - Changelog $Id$ $Source$ +2001-08-27 Robin Johnson + * lib.inc.php3, db_readdump.php3 + - removed expand_sql_query() as no longer needed + 2001-08-27 Olivier Müller * tbl_replace.php3: fixed the fact that the function were ignored if the data remained unchanged. diff --git a/db_readdump.php3 b/db_readdump.php3 index d15eba927..166ea70ae 100755 --- a/db_readdump.php3 +++ b/db_readdump.php3 @@ -97,11 +97,6 @@ if ($sql_query != '') { $pieces = split_sql_file($sql_query, ';'); $pieces_count = count($pieces); - // Handles table aliases - for ($i = 0; $i < $pieces_count; $i++) { - $pieces[$i] = expand_sql_query($pieces[$i]); - } - // Only one query to run if ($pieces_count == 1 && !empty($pieces[0]) && $view_bookmark == 0) { $sql_query = trim($pieces[0]); diff --git a/lib.inc.php3 b/lib.inc.php3 index 74aeda4ed..1ad5edc28 100755 --- a/lib.inc.php3 +++ b/lib.inc.php3 @@ -703,110 +703,6 @@ window.parent.frames['nav'].location.replace(''); return array($return_value, $unit); } // end of the 'format_byte_down' function - - - /* ----- Functions used to display records returned by a sql query ----- */ - - /** - * Expands table alias in SQL queries - * - * @param string a single sql query - * - * @return string the expanded SQL query - * - * @author Robin Johnson - * - * @version 1.1 - 10th August 2001 - */ - function expand_sql_query($sql) - { - $sql = trim($sql); - $arr = explode(' ', $sql); - if (strtoupper($arr[0]) != 'SELECT') { - return $sql; - } - $start_table_ref = FALSE; - $end_table_ref = FALSE; - - // Finds which block of text has the table reference data - for ($i = 0; $i < count($arr); $i++) { - $tmp = trim(strtoupper($arr[$i])); - if ($tmp == 'FROM') { - $start_table_ref = $i + 1; - } - else if ($tmp == 'WHERE' || $tmp == 'GROUP' || $tmp == 'HAVING' || $tmp == 'ORDER' - || $tmp == 'LIMIT' || $tmp == 'PROCEDURE' || $tmp == 'FOR' || $tmp == 'BY' - || $tmp == 'UPDATE' || $tmp == 'LOCK' || $tmp == 'IN' || $tmp == 'SHARE' - || $tmp == 'MODE') { - // We want only the first one - if (!$end_table_ref) { - $end_table_ref = $i - 1; - } - } - } // end for - // In case the table reference was the last thing - if (!$end_table_ref) { - $end_table_ref = count($arr) - 1; - } - - // Handles the table reference data - // First put it back together - $table_ref_data = ''; - for ($i = $start_table_ref; $i <= $end_table_ref; $i++) { - $table_ref_data .= ' ' . $arr[$i]; - } // end for - - // Cleans out the extra spaces - $table_ref_data = trim($table_ref_data); - - // Cleans up a bit - unset($arr); - unset($tmp); - unset($i); - - // Breaks it apart into each table used - $arr = explode(',', $table_ref_data); - - // Handles each table used - reset($arr); - while (list(, $table) = each ($arr)) { - $table = trim($table); - if (isset($data)) { - unset($data); - } - $data = explode(' ', $table); //will have at most 3 items - if (isset($data_count)) { - unset($data_count); - } - $data_count = count($data); - if (isset($match)) { - unset($match); - } - if ($data_count == 1) { - continue; - } - // Checks with 'as' keyword specified... - if ($data_count == 3) { - $data[1] = $data[2]; - $match = $data[0] . ' as ' . $data[1]; - } - // ... and now in form "departments d" - if ($data_count >= 2) { - $sql = eregi_replace( - '([^a-zA-Z0-9])' . $data[1] . '\.', - '\1 ' . $data[0] . '.', - $sql); - if (!isset($match)) { - $match = $data[0] . ' ' . $data[1]; - } - $sql = str_replace($match, ' ' . $data[0], $sql); - } // end if - } // end while - - return $sql; - } // end of the 'expand_sql_query()' function - - /** * Displays a navigation bar to browse among the results of a sql query *