From 2c7161c7a35f0d540e859dfb2903afeb7ced139a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 21 Oct 2010 10:04:15 +0200 Subject: [PATCH 1/3] Remember also MySQL major version. --- libraries/database_interface.lib.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php index c1a97b437..c72c48545 100644 --- a/libraries/database_interface.lib.php +++ b/libraries/database_interface.lib.php @@ -955,12 +955,14 @@ function PMA_DBI_postConnect($link, $is_controluser = false) if (! defined('PMA_MYSQL_INT_VERSION')) { if (PMA_cacheExists('PMA_MYSQL_INT_VERSION', true)) { define('PMA_MYSQL_INT_VERSION', PMA_cacheGet('PMA_MYSQL_INT_VERSION', true)); + define('PMA_MYSQL_MAJOR_VERSION', PMA_cacheGet('PMA_MYSQL_MAJOR_VERSION', true)); define('PMA_MYSQL_STR_VERSION', PMA_cacheGet('PMA_MYSQL_STR_VERSION', true)); } else { $mysql_version = PMA_DBI_fetch_value( 'SELECT VERSION()', 0, 0, $link, PMA_DBI_QUERY_STORE); if ($mysql_version) { $match = explode('.', $mysql_version); + define('PMA_MYSQL_MAJOR_VERSION', (int)$match[0]); define('PMA_MYSQL_INT_VERSION', (int) sprintf('%d%02d%02d', $match[0], $match[1], intval($match[2]))); @@ -968,9 +970,11 @@ function PMA_DBI_postConnect($link, $is_controluser = false) unset($mysql_version, $match); } else { define('PMA_MYSQL_INT_VERSION', 50015); + define('PMA_MYSQL_MAJOR_VERSION', 5); define('PMA_MYSQL_STR_VERSION', '5.00.15'); } PMA_cacheSet('PMA_MYSQL_INT_VERSION', PMA_MYSQL_INT_VERSION, true); + PMA_cacheSet('PMA_MYSQL_MAJOR_VERSION', PMA_MYSQL_MAJOR_VERSION, true); PMA_cacheSet('PMA_MYSQL_STR_VERSION', PMA_MYSQL_STR_VERSION, true); } } From ae7a20607da1fc364106e39408283693c15f5957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 21 Oct 2010 10:04:37 +0200 Subject: [PATCH 2/3] Do not set charset for Drizzle. --- libraries/database_interface.lib.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php index c72c48545..d5754a4f9 100644 --- a/libraries/database_interface.lib.php +++ b/libraries/database_interface.lib.php @@ -979,12 +979,15 @@ function PMA_DBI_postConnect($link, $is_controluser = false) } } - if (! empty($GLOBALS['collation_connection'])) { - PMA_DBI_query("SET CHARACTER SET 'utf8';", $link, PMA_DBI_QUERY_STORE); - $mysql_charset = explode('_', $GLOBALS['collation_connection']); - PMA_DBI_query("SET collation_connection = '" . PMA_sqlAddslashes($GLOBALS['collation_connection']) . "';", $link, PMA_DBI_QUERY_STORE); - } else { - PMA_DBI_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci';", $link, PMA_DBI_QUERY_STORE); + /* Skip charsets for Drizzle */ + if (PMA_MYSQL_MAJOR_VERSION < 2009) { + if (! empty($GLOBALS['collation_connection'])) { + PMA_DBI_query("SET CHARACTER SET 'utf8';", $link, PMA_DBI_QUERY_STORE); + $mysql_charset = explode('_', $GLOBALS['collation_connection']); + PMA_DBI_query("SET collation_connection = '" . PMA_sqlAddslashes($GLOBALS['collation_connection']) . "';", $link, PMA_DBI_QUERY_STORE); + } else { + PMA_DBI_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci';", $link, PMA_DBI_QUERY_STORE); + } } } From 88e6ca46094128f53ec922dc14d7b63d3ee6e910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 21 Oct 2010 10:04:49 +0200 Subject: [PATCH 3/3] Avoid charset queries on Drizzle. --- libraries/mysql_charsets.lib.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libraries/mysql_charsets.lib.php b/libraries/mysql_charsets.lib.php index 51102f836..2463f1f82 100644 --- a/libraries/mysql_charsets.lib.php +++ b/libraries/mysql_charsets.lib.php @@ -11,8 +11,18 @@ if (! defined('PHPMYADMIN')) { /** * */ - -if (! PMA_cacheExists('mysql_charsets_count', true)) { +if (PMA_MYSQL_MAJOR_VERSION > 2009) { + /* There are no charsets in Drizzle */ + $GLOBALS['mysql_charsets'] = array(); + $GLOBALS['mysql_charsets_descriptions'] = array(); + $GLOBALS['mysql_charsets_count'] = 0; + $GLOBALS['mysql_charsets_available'] = array(); + $GLOBALS['mysql_collations'] = array(); + $GLOBALS['mysql_default_collations'] = array(); + $GLOBALS['mysql_collations_flat'] = array(); + $GLOBALS['mysql_collations_count'] = 0; + $GLOBALS['mysql_collations_available'] = array(); +} elseif (! PMA_cacheExists('mysql_charsets_count', true)) { $res = PMA_DBI_query('SHOW CHARACTER SET;'); $mysql_charsets = array();