diff --git a/libraries/StorageEngine.class.php b/libraries/StorageEngine.class.php
index d16b7a5d0..453a9f347 100644
--- a/libraries/StorageEngine.class.php
+++ b/libraries/StorageEngine.class.php
@@ -50,8 +50,6 @@ class PMA_StorageEngine
* @static
* @staticvar array $storage_engines storage engines
* @access public
- * @uses PMA_MYSQL_INT_VERSION
- * @uses PMA_StorageEngine::_getStorageEnginesBefore40102()
* @uses PMA_DBI_fetch_result()
* @return array of storage engines
*/
@@ -63,16 +61,7 @@ class PMA_StorageEngine
return $storage_engines;
}
- $storage_engines = array();
-
- // SHOW STORAGE ENGINES comes with MySQL 4.1.2
- if (PMA_MYSQL_INT_VERSION < 40102) {
- $storage_engines = PMA_StorageEngine::_getStorageEnginesBefore40102();
- } else {
- $storage_engines = PMA_DBI_fetch_result('SHOW STORAGE ENGINES', 'Engine');
- }
-
- return $storage_engines;
+ return PMA_DBI_fetch_result('SHOW STORAGE ENGINES', 'Engine');
}
/**
@@ -114,62 +103,6 @@ class PMA_StorageEngine
return $output;
}
- /**
- * returns array of storage engines for MySQL < 4.1, hard coded
- * Emulating SHOW STORAGE ENGINES...
- *
- * @static
- * @access public
- * @uses PMA_DBI_query()
- * @uses PMA_DBI_fetch_row()
- * @uses PMA_DBI_free_result()
- * @uses substr()
- * @return array of storage engines
- */
- static protected function _getStorageEnginesBefore40102()
- {
- $storage_engines = array(
- 'myisam' => array(
- 'Engine' => 'MyISAM',
- 'Support' => 'DEFAULT'
- ),
- 'merge' => array(
- 'Engine' => 'MERGE',
- 'Support' => 'YES'
- ),
- 'heap' => array(
- 'Engine' => 'HEAP',
- 'Support' => 'YES'
- ),
- 'memory' => array(
- 'Engine' => 'MEMORY',
- 'Support' => 'YES'
- )
- );
- $known_engines = array(
- 'archive' => 'ARCHIVE',
- 'bdb' => 'BDB',
- 'csv' => 'CSV',
- 'innodb' => 'InnoDB',
- 'isam' => 'ISAM',
- 'gemini' => 'Gemini'
- );
- $res = PMA_DBI_query('SHOW VARIABLES LIKE \'have\\_%\';');
- while ($row = PMA_DBI_fetch_row($res)) {
- $current = substr($row[0], 5);
- if (! empty($known_engines[$current])) {
- $storage_engines[$current] = array(
- 'Engine' => $known_engines[$current],
- 'Support' => $row[1]
- );
- }
- }
- PMA_DBI_free_result($res);
-
- return $storage_engines;
- }
-
-
/**
* public static final PMA_StorageEngine getEngine()
*
@@ -270,7 +203,6 @@ class PMA_StorageEngine
* @uses PMA_ENGINE_DETAILS_TYPE_PLAINTEXT
* @uses PMA_StorageEngine::getVariables()
* @uses PMA_StorageEngine::getVariablesLikePattern()
- * @uses PMA_MYSQL_INT_VERSION
* @uses PMA_DBI_query()
* @uses PMA_DBI_fetch_assoc()
* @uses PMA_DBI_free_result()
@@ -287,15 +219,9 @@ class PMA_StorageEngine
$like = '';
}
- if (PMA_MYSQL_INT_VERSION >= 40102) {
- $global = ' GLOBAL ';
- } else {
- $global = '';
- }
-
$mysql_vars = array();
- $sql_query = 'SHOW ' . $global . ' VARIABLES ' . $like . ';';
+ $sql_query = 'SHOW GLOBAL VARIABLES ' . $like . ';';
$res = PMA_DBI_query($sql_query);
while ($row = PMA_DBI_fetch_assoc($res)) {
if (isset($variables[$row['Variable_name']])) {
diff --git a/libraries/mult_submits.inc.php b/libraries/mult_submits.inc.php
index 5e4b2448b..af4dfb9e9 100644
--- a/libraries/mult_submits.inc.php
+++ b/libraries/mult_submits.inc.php
@@ -161,11 +161,7 @@ if (!empty($submit_mult) && !empty($what)) {
break;
case 'empty_tbl':
- if (PMA_MYSQL_INT_VERSION >= 40000) {
- $full_query .= 'TRUNCATE ';
- } else {
- $full_query .= 'DELETE FROM ';
- }
+ $full_query .= 'TRUNCATE ';
$full_query .= PMA_backquote(htmlspecialchars(urldecode($sval)))
. ';
';
break;
diff --git a/libraries/mysql_charsets.lib.php b/libraries/mysql_charsets.lib.php
index b4a6d3b07..022638eac 100644
--- a/libraries/mysql_charsets.lib.php
+++ b/libraries/mysql_charsets.lib.php
@@ -8,138 +8,117 @@
/**
*
*/
-if (PMA_MYSQL_INT_VERSION >= 40100){
+$res = PMA_DBI_query('SHOW CHARACTER SET;');
- $res = PMA_DBI_query('SHOW CHARACTER SET;');
+$mysql_charsets = array();
+while ($row = PMA_DBI_fetch_assoc($res)) {
+ $mysql_charsets[] = $row['Charset'];
+ // never used
+ //$mysql_charsets_maxlen[$row['Charset']] = $row['Maxlen'];
+ $mysql_charsets_descriptions[$row['Charset']] = $row['Description'];
+}
+@PMA_DBI_free_result($res);
- $mysql_charsets = array();
- while ($row = PMA_DBI_fetch_assoc($res)) {
- $mysql_charsets[] = $row['Charset'];
- // never used
- //$mysql_charsets_maxlen[$row['Charset']] = $row['Maxlen'];
- $mysql_charsets_descriptions[$row['Charset']] = $row['Description'];
+$mysql_charsets_count = count($mysql_charsets);
+sort($mysql_charsets, SORT_STRING);
+
+$mysql_collations = array_flip($mysql_charsets);
+$mysql_default_collations = $mysql_collations_flat = $mysql_charsets_available = $mysql_collations_available = array();
+
+$res = PMA_DBI_query('SHOW COLLATION;');
+while ($row = PMA_DBI_fetch_assoc($res)) {
+ if (!is_array($mysql_collations[$row['Charset']])) {
+ $mysql_collations[$row['Charset']] = array($row['Collation']);
+ } else {
+ $mysql_collations[$row['Charset']][] = $row['Collation'];
}
- @PMA_DBI_free_result($res);
+ $mysql_collations_flat[] = $row['Collation'];
+ if ((isset($row['D']) && $row['D'] == 'Y') || (isset($row['Default']) && $row['Default'] == 'Yes')) {
+ $mysql_default_collations[$row['Charset']] = $row['Collation'];
+ }
+ //$mysql_collations_available[$row['Collation']] = !isset($row['Compiled']) || $row['Compiled'] == 'Yes';
+ $mysql_collations_available[$row['Collation']] = TRUE;
+ $mysql_charsets_available[$row['Charset']] = !empty($mysql_charsets_available[$row['Charset']]) || !empty($mysql_collations_available[$row['Collation']]);
+}
+@PMA_DBI_free_result($res);
+unset($res, $row);
- $mysql_charsets_count = count($mysql_charsets);
- sort($mysql_charsets, SORT_STRING);
+$mysql_collations_count = count($mysql_collations_flat);
+sort($mysql_collations_flat, SORT_STRING);
+foreach ($mysql_collations AS $key => $value) {
+ sort($mysql_collations[$key], SORT_STRING);
+ reset($mysql_collations[$key]);
+}
+unset($key, $value);
- $mysql_collations = array_flip($mysql_charsets);
- $mysql_default_collations = $mysql_collations_flat = $mysql_charsets_available = $mysql_collations_available = array();
+define('PMA_CSDROPDOWN_COLLATION', 0);
+define('PMA_CSDROPDOWN_CHARSET', 1);
- $res = PMA_DBI_query('SHOW COLLATION;');
- while ($row = PMA_DBI_fetch_assoc($res)) {
- if (!is_array($mysql_collations[$row['Charset']])) {
- $mysql_collations[$row['Charset']] = array($row['Collation']);
+function PMA_generateCharsetDropdownBox($type = PMA_CSDROPDOWN_COLLATION, $name = null, $id = null, $default = null, $label = TRUE, $indent = 0, $submitOnChange = FALSE, $displayUnavailable = FALSE) {
+ global $mysql_charsets, $mysql_charsets_descriptions, $mysql_charsets_available, $mysql_collations, $mysql_collations_available;
+
+ if (empty($name)) {
+ if ($type == PMA_CSDROPDOWN_COLLATION) {
+ $name = 'collation';
} else {
- $mysql_collations[$row['Charset']][] = $row['Collation'];
+ $name = 'character_set';
}
- $mysql_collations_flat[] = $row['Collation'];
- if ((isset($row['D']) && $row['D'] == 'Y') || (isset($row['Default']) && $row['Default'] == 'Yes')) {
- $mysql_default_collations[$row['Charset']] = $row['Collation'];
- }
- //$mysql_collations_available[$row['Collation']] = !isset($row['Compiled']) || $row['Compiled'] == 'Yes';
- $mysql_collations_available[$row['Collation']] = TRUE;
- $mysql_charsets_available[$row['Charset']] = !empty($mysql_charsets_available[$row['Charset']]) || !empty($mysql_collations_available[$row['Collation']]);
}
- @PMA_DBI_free_result($res);
- unset($res, $row);
- $mysql_collations_count = count($mysql_collations_flat);
- sort($mysql_collations_flat, SORT_STRING);
- foreach ($mysql_collations AS $key => $value) {
- sort($mysql_collations[$key], SORT_STRING);
- reset($mysql_collations[$key]);
+ $spacer = '';
+ for ($i = 1; $i <= $indent; $i++) $spacer .= ' ';
+
+ $return_str = $spacer . '' . "\n";
- return $return_str;
+ return $return_str;
+}
+
+function PMA_generateCharsetQueryPart($collation) {
+ list($charset) = explode('_', $collation);
+ return ' CHARACTER SET ' . $charset . ($charset == $collation ? '' : ' COLLATE ' . $collation);
+}
+
+/**
+ * returns collation of given db
+ *
+ * @uses PMA_DBI_fetch_value()
+ * @uses PMA_DBI_select_db()
+ * @uses PMA_sqlAddSlashes()
+ * @uses $GLOBALS['db']
+ * @param string $db name of db
+ * @return string collation of $db
+ */
+function PMA_getDbCollation($db) {
+ if ($db == 'information_schema') {
+ // We don't have to check the collation of the virtual
+ // information_schema database: We know it!
+ return 'utf8_general_ci';
}
- function PMA_generateCharsetQueryPart($collation) {
- list($charset) = explode('_', $collation);
- return ' CHARACTER SET ' . $charset . ($charset == $collation ? '' : ' COLLATE ' . $collation);
- }
-
- /**
- * returns collation of given db
- *
- * @uses PMA_MYSQL_INT_VERSION
- * @uses PMA_DBI_fetch_value()
- * @uses PMA_DBI_select_db()
- * @uses PMA_sqlAddSlashes()
- * @uses $GLOBALS['db']
- * @param string $db name of db
- * @return string collation of $db
- */
- function PMA_getDbCollation($db) {
- if (PMA_MYSQL_INT_VERSION >= 50000 && $db == 'information_schema') {
- // We don't have to check the collation of the virtual
- // information_schema database: We know it!
- return 'utf8_general_ci';
- }
- if (PMA_MYSQL_INT_VERSION >= 50006) {
- // Since MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore.
- return PMA_DBI_fetch_value('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = \'' . PMA_sqlAddSlashes($db) . '\' LIMIT 1;');
- } elseif (PMA_MYSQL_INT_VERSION >= 40101) {
- // MySQL 4.1.0 does not support seperate charset settings
- // for databases.
- PMA_DBI_select_db($db);
- // the query does not work if this string is in double quotes
- // and MySQL is running in ANSI mode
- $return = PMA_DBI_fetch_value('SHOW VARIABLES LIKE \'collation_database\'', 0, 1);
- if ($db !== $GLOBALS['db']) {
- PMA_DBI_select_db($GLOBALS['db']);
- }
- return $return;
- }
- return '';
- }
-
-} else {
- function PMA_getDbCollation($db) { return PMA_getServerCollation(); }
+ return PMA_DBI_fetch_value('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = \'' . PMA_sqlAddSlashes($db) . '\' LIMIT 1;');
}
/**
diff --git a/libraries/server_links.inc.php b/libraries/server_links.inc.php
index 96ad5bb1f..305154d33 100644
--- a/libraries/server_links.inc.php
+++ b/libraries/server_links.inc.php
@@ -48,11 +48,9 @@ $tabs['vars']['icon'] = 's_vars.png';
$tabs['vars']['link'] = 'server_variables.php';
$tabs['vars']['text'] = $strServerTabVariables;
-if (PMA_MYSQL_INT_VERSION >= 40100) {
- $tabs['charset']['icon'] = 's_asci.png';
- $tabs['charset']['link'] = 'server_collations.php';
- $tabs['charset']['text'] = $strCharsets;
-}
+$tabs['charset']['icon'] = 's_asci.png';
+$tabs['charset']['link'] = 'server_collations.php';
+$tabs['charset']['text'] = $strCharsets;
$tabs['engine']['icon'] = 'b_engine.png';
$tabs['engine']['link'] = 'server_engines.php';
diff --git a/libraries/sql_query_form.lib.php b/libraries/sql_query_form.lib.php
index c4af277c3..7b8419bbb 100644
--- a/libraries/sql_query_form.lib.php
+++ b/libraries/sql_query_form.lib.php
@@ -373,13 +373,11 @@ function PMA_sqlQueryFormInsert($query = '', $is_querywindow = false, $delimiter
}
echo '' . "\n";
echo '