diff options
author | Paul S. Owen <psotfx@users.sourceforge.net> | 2001-08-17 16:08:18 +0000 |
---|---|---|
committer | Paul S. Owen <psotfx@users.sourceforge.net> | 2001-08-17 16:08:18 +0000 |
commit | ca10febbbd24f5bc44c5efd9da23aed909e120ea (patch) | |
tree | a4f214a2e9b676707e2f5e12b62a43635243d50f /phpBB/admin/index.php | |
parent | 185faf132867268f667db6de6f826156d8eaf6f5 (diff) | |
download | forums-ca10febbbd24f5bc44c5efd9da23aed909e120ea.tar forums-ca10febbbd24f5bc44c5efd9da23aed909e120ea.tar.gz forums-ca10febbbd24f5bc44c5efd9da23aed909e120ea.tar.bz2 forums-ca10febbbd24f5bc44c5efd9da23aed909e120ea.tar.xz forums-ca10febbbd24f5bc44c5efd9da23aed909e120ea.zip |
Do a MySQL version check before running table status
git-svn-id: file:///svn/phpbb/trunk@898 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/admin/index.php')
-rw-r--r-- | phpBB/admin/index.php | 56 |
1 files changed, 36 insertions, 20 deletions
diff --git a/phpBB/admin/index.php b/phpBB/admin/index.php index 8f2c6d9b81..4abbca91e5 100644 --- a/phpBB/admin/index.php +++ b/phpBB/admin/index.php @@ -211,33 +211,49 @@ elseif( $HTTP_GET_VARS['pane'] == 'right' ) // if(SQL_LAYER == 'mysql') { - $sql = "SHOW TABLE STATUS FROM " . $dbname; - if(!$result = $db->sql_query($sql)) + $sql = "SELECT VERSION() AS mysql_version"; + if($result = $db->sql_query($sql)) { - message_die(GENERAL_ERROR, "Couldn't obtain table information.", "", __LINE__, __FILE__, $sql); - } - $tabledata_ary = $db->sql_fetchrowset($result); + list($version) = $db->sql_fetchrow($result); + if( ereg("^3\.23", $version) ) + { + $sql = "SHOW TABLE STATUS FROM " . $dbname; + if(!$result = $db->sql_query($sql)) + { + message_die(GENERAL_ERROR, "Couldn't obtain table information.", "", __LINE__, __FILE__, $sql); + } + $tabledata_ary = $db->sql_fetchrowset($result); - $dbsize = 0; - for($i = 0; $i < count($tabledata_ary); $i++) - { - if($tabledata_ary[$i]['Type'] != "MRG_MyISAM" && strstr($tabledata_ary[$i]['Name'], $table_prefix) ) + $dbsize = 0; + for($i = 0; $i < count($tabledata_ary); $i++) + { + if($tabledata_ary[$i]['Type'] != "MRG_MyISAM" && strstr($tabledata_ary[$i]['Name'], $table_prefix) ) + { + $dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length']; + } + } + + if($dbsize >= 1048576) + { + $dbsize = sprintf("%.2f MB", ( $dbsize / 1048576 )); + } + else if($dbsize >= 1024) + { + $dbsize = sprintf("%.2f KB", ( $dbsize / 1024 )); + } + else + { + $dbsize = sprintf("%.2f Bytes", $dbsize); + } + } + else { - $dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length']; + $dbsize = $lang['Not_available']; } } - - if($dbsize >= 1048576) - { - $dbsize = sprintf("%.2f MB", ( $dbsize / 1048576 )); - } - else if($dbsize >= 1024) - { - $dbsize = sprintf("%.2f KB", ( $dbsize / 1024 )); - } else { - $dbsize = sprintf("%.2f Bytes", $dbsize); + $dbsize = $lang['Not_available']; } } else |