On MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore, if we just want to get to know a database's default collation.

This commit is contained in:
Alexander M. Turek
2005-10-20 10:03:07 +00:00
parent 5c6c19e244
commit 974a27c431
2 changed files with 18 additions and 2 deletions

View File

@@ -282,7 +282,18 @@ if (PMA_MYSQL_INT_VERSION >= 40100){
// information_schema database: We know it!
return 'utf8_general_ci';
}
if (PMA_MYSQL_INT_VERSION >= 40101) {
if (PMA_MYSQL_INT_VERSION >= 50006) {
// Since MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore.
$res = PMA_DBI_query('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ' . $db . ' LIMIT 1;');
if ($res) {
list($db_collation) = PMA_DBI_fetch_row($res);
PMA_DBI_free_result($res);
return $db_collation;
} else {
// If we get here, the database does not exist or our MySQL server plays silly games on us...
return '';
}
} else if (PMA_MYSQL_INT_VERSION >= 40101) {
// MySQL 4.1.0 does not support seperate charset settings
// for databases.
$res = PMA_DBI_query('SHOW CREATE DATABASE ' . PMA_backquote($db) . ';', NULL, PMA_DBI_QUERY_STORE);