removed MySQL < 5 code

This commit is contained in:
Sebastian Mendel
2007-10-02 09:05:49 +00:00
parent e51a242ee7
commit 0e8334a41b

View File

@@ -200,7 +200,6 @@ function PMA_DBI_get_tables($database, $link = null)
* PMA_DBI_get_tables_full('my_database', 'my_tables_', 'comment'));
* </code>
*
* @uses PMA_MYSQL_INT_VERSION
* @uses PMA_DBI_fetch_result()
* @uses PMA_escape_mysql_wildcards()
* @uses PMA_backquote()
@@ -230,7 +229,6 @@ function PMA_DBI_get_tables_full($database, $table = false,
$tables = array();
if (PMA_MYSQL_INT_VERSION >= 50002) {
// get table information from information_schema
if ($table) {
if (true === $tbl_is_group) {
@@ -287,11 +285,11 @@ function PMA_DBI_get_tables_full($database, $table = false,
$tables = PMA_DBI_fetch_result($sql, array('TABLE_SCHEMA', 'TABLE_NAME'),
null, $link);
unset($sql_where_table, $sql);
}
// If permissions are wrong on even one database directory,
// information_schema does not return any table info for any database
// this is why we fall back to SHOW TABLE STATUS even for MySQL >= 50002
if (PMA_MYSQL_INT_VERSION < 50002 || empty($tables)) {
if (empty($tables)) {
foreach ($databases as $each_database) {
if (true === $tbl_is_group) {
$sql = 'SHOW TABLE STATUS FROM '
@@ -412,7 +410,6 @@ function PMA_DBI_get_databases_full($database = null, $force_stats = false,
$apply_limit_and_order_manual = true;
if (PMA_MYSQL_INT_VERSION >= 50002) {
/**
* if $GLOBALS['cfg']['NaturalOrder'] is enabled, we cannot use LIMIT
* cause MySQL does not support natural ordering, we have to do it afterward
@@ -487,48 +484,6 @@ function PMA_DBI_get_databases_full($database = null, $force_stats = false,
unset($drop);
}
unset($sql_where_schema, $sql, $drops);
} else {
foreach ($GLOBALS['PMA_List_Database']->items as $database_name) {
// MySQL forward compatibility
// so pma could use this array as if every server is of version >5.0
$databases[$database_name]['SCHEMA_NAME'] = $database_name;
if ($force_stats) {
require_once 'mysql_charsets.lib.php';
$databases[$database_name]['DEFAULT_COLLATION_NAME']
= PMA_getDbCollation($database_name);
// get additonal info about tables
$databases[$database_name]['SCHEMA_TABLES'] = 0;
$databases[$database_name]['SCHEMA_TABLE_ROWS'] = 0;
$databases[$database_name]['SCHEMA_DATA_LENGTH'] = 0;
$databases[$database_name]['SCHEMA_MAX_DATA_LENGTH'] = 0;
$databases[$database_name]['SCHEMA_INDEX_LENGTH'] = 0;
$databases[$database_name]['SCHEMA_LENGTH'] = 0;
$databases[$database_name]['SCHEMA_DATA_FREE'] = 0;
$res = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($database_name) . ';');
while ($row = PMA_DBI_fetch_assoc($res)) {
$databases[$database_name]['SCHEMA_TABLES']++;
$databases[$database_name]['SCHEMA_TABLE_ROWS']
+= $row['Rows'];
$databases[$database_name]['SCHEMA_DATA_LENGTH']
+= $row['Data_length'];
$databases[$database_name]['SCHEMA_MAX_DATA_LENGTH']
+= $row['Max_data_length'];
$databases[$database_name]['SCHEMA_INDEX_LENGTH']
+= $row['Index_length'];
$databases[$database_name]['SCHEMA_DATA_FREE']
+= $row['Data_free'];
$databases[$database_name]['SCHEMA_LENGTH']
+= $row['Data_length'] + $row['Index_length'];
}
PMA_DBI_free_result($res);
unset($res);
}
}
}
/**
* apply limit and order manually now
@@ -578,7 +533,6 @@ function PMA_DBI_get_columns_full($database = null, $table = null,
{
$columns = array();
if (PMA_MYSQL_INT_VERSION >= 50002) {
$sql_wheres = array();
$array_keys = array();
@@ -617,78 +571,7 @@ function PMA_DBI_get_columns_full($database = null, $table = null,
$sql .= "\n" . ' WHERE ' . implode(' AND ', $sql_wheres);
}
$columns = PMA_DBI_fetch_result($sql, $array_keys, null, $link);
unset($sql_wheres, $sql);
} else {
if (null === $database) {
foreach ($GLOBALS['PMA_List_Database']->items as $database) {
$columns[$database] = PMA_DBI_get_columns_full($database, null,
null, $link);
}
return $columns;
} elseif (null === $table) {
$tables = PMA_DBI_get_tables($database);
foreach ($tables as $table) {
$columns[$table] = PMA_DBI_get_columns_full(
$database, $table, null, $link);
}
return $columns;
}
$sql = 'SHOW FULL COLUMNS FROM '
. PMA_backquote($database) . '.' . PMA_backquote($table);
if (null !== $column) {
$sql .= " LIKE '" . $column . "'";
}
$columns = PMA_DBI_fetch_result($sql, 'Field', null, $link);
$ordinal_position = 1;
foreach ($columns as $column_name => $each_column) {
// MySQL forward compatibility
// so pma could use this array as if every server is of version >5.0
$columns[$column_name]['COLUMN_NAME'] =& $columns[$column_name]['Field'];
$columns[$column_name]['COLUMN_TYPE'] =& $columns[$column_name]['Type'];
$columns[$column_name]['COLLATION_NAME'] =& $columns[$column_name]['Collation'];
$columns[$column_name]['IS_NULLABLE'] =& $columns[$column_name]['Null'];
$columns[$column_name]['COLUMN_KEY'] =& $columns[$column_name]['Key'];
$columns[$column_name]['COLUMN_DEFAULT'] =& $columns[$column_name]['Default'];
$columns[$column_name]['EXTRA'] =& $columns[$column_name]['Extra'];
$columns[$column_name]['PRIVILEGES'] =& $columns[$column_name]['Privileges'];
$columns[$column_name]['COLUMN_COMMENT'] =& $columns[$column_name]['Comment'];
$columns[$column_name]['TABLE_CATALOG'] = null;
$columns[$column_name]['TABLE_SCHEMA'] = $database;
$columns[$column_name]['TABLE_NAME'] = $table;
$columns[$column_name]['ORDINAL_POSITION'] = $ordinal_position;
$columns[$column_name]['DATA_TYPE'] =
substr($columns[$column_name]['COLUMN_TYPE'], 0,
strpos($columns[$column_name]['COLUMN_TYPE'], '('));
/**
* @todo guess CHARACTER_MAXIMUM_LENGTH from COLUMN_TYPE
*/
$columns[$column_name]['CHARACTER_MAXIMUM_LENGTH'] = null;
/**
* @todo guess CHARACTER_OCTET_LENGTH from CHARACTER_MAXIMUM_LENGTH
*/
$columns[$column_name]['CHARACTER_OCTET_LENGTH'] = null;
$columns[$column_name]['NUMERIC_PRECISION'] = null;
$columns[$column_name]['NUMERIC_SCALE'] = null;
$columns[$column_name]['CHARACTER_SET_NAME'] =
substr($columns[$column_name]['COLLATION_NAME'], 0,
strpos($columns[$column_name]['COLLATION_NAME'], '_'));
$ordinal_position++;
}
if (null !== $column) {
reset($columns);
$columns = current($columns);
}
}
return $columns;
return PMA_DBI_fetch_result($sql, $array_keys, null, $link);
}
/**
@@ -752,9 +635,7 @@ function PMA_DBI_get_variable($var, $type = PMA_DBI_GETVAR_SESSION, $link = null
return false;
}
}
if (PMA_MYSQL_INT_VERSION < 40002) {
$type = 0;
}
switch ($type) {
case PMA_DBI_GETVAR_SESSION:
$modifier = ' SESSION';
@@ -816,14 +697,9 @@ function PMA_DBI_postConnect($link, $is_controluser = false)
}
if (!defined('PMA_ENGINE_KEYWORD')) {
if (PMA_MYSQL_INT_VERSION >= 40102) {
define('PMA_ENGINE_KEYWORD','ENGINE');
} else {
define('PMA_ENGINE_KEYWORD','TYPE');
}
}
if (PMA_MYSQL_INT_VERSION >= 40100) {
$mysql_charset = $GLOBALS['mysql_charset_map'][$GLOBALS['charset']];
if ($is_controluser
|| empty($GLOBALS['collation_connection'])
@@ -855,9 +731,6 @@ function PMA_DBI_postConnect($link, $is_controluser = false)
if (!in_array('VARBINARY', $GLOBALS['cfg']['ColumnTypes'])) {
$GLOBALS['cfg']['ColumnTypes'][] = 'VARBINARY';
}
} else {
require_once './libraries/charset_conversion.lib.php';
}
}
/**
@@ -1109,11 +982,7 @@ function PMA_DBI_fetch_result($result, $key = null, $value = null,
*/
function PMA_DBI_get_default_engine()
{
if (PMA_MYSQL_INT_VERSION > 50002) {
return PMA_DBI_fetch_value('SHOW VARIABLES LIKE \'storage_engine\';', 0, 1);
} else {
return PMA_DBI_fetch_value('SHOW VARIABLES LIKE \'table_type\';', 0, 1);
}
}
/**
@@ -1123,11 +992,7 @@ function PMA_DBI_get_default_engine()
*/
function PMA_DBI_getCompatibilities()
{
if (PMA_MYSQL_INT_VERSION < 40100) {
return array();
}
$compats = array('NONE');
if (PMA_MYSQL_INT_VERSION >= 40101) {
$compats[] = 'ANSI';
$compats[] = 'DB2';
$compats[] = 'MAXDB';
@@ -1138,10 +1003,8 @@ function PMA_DBI_getCompatibilities()
// removed; in MySQL 5.0.33, this produces exports that
// can't be read by POSTGRESQL (see our bug #1596328)
//$compats[] = 'POSTGRESQL';
if (PMA_MYSQL_INT_VERSION >= 50002) {
$compats[] = 'TRADITIONAL';
}
}
return $compats;
}
@@ -1155,10 +1018,6 @@ function PMA_DBI_getCompatibilities()
*/
function PMA_DBI_get_warnings($link = null)
{
if (PMA_MYSQL_INT_VERSION < 40100) {
return array();
}
if (empty($link)) {
if (isset($GLOBALS['userlink'])) {
$link = $GLOBALS['userlink'];
@@ -1235,8 +1094,6 @@ function PMA_DBI_get_triggers($db, $table) {
$result = array();
// available in INFORMATION_SCHEMA since MySQL 5.0.10
if (PMA_MYSQL_INT_VERSION >= 50010) {
$triggers = PMA_DBI_fetch_result("SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING, ACTION_STATEMENT, EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE FROM information_schema.TRIGGERS WHERE EVENT_OBJECT_SCHEMA= '" . PMA_sqlAddslashes($db,true) . "' and EVENT_OBJECT_TABLE = '" . PMA_sqlAddslashes($table, true) . "';");
if ($triggers) {
@@ -1254,7 +1111,6 @@ function PMA_DBI_get_triggers($db, $table) {
$result[] = $one_result;
}
}
}
return($result);
}
?>