[config] new parameter $cfg['Servers'][$i]['ShowDatabasesCommand']
This commit is contained in:
@@ -20,6 +20,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
|
|||||||
+ [export] new export to Texy! markup
|
+ [export] new export to Texy! markup
|
||||||
+ [lang] Finnish update, thanks to Jouni Kahkonen
|
+ [lang] Finnish update, thanks to Jouni Kahkonen
|
||||||
+ [config] new parameter $cfg['CheckConfigurationPermissions']
|
+ [config] new parameter $cfg['CheckConfigurationPermissions']
|
||||||
|
+ [config] new parameter $cfg['Servers'][$i]['ShowDatabasesCommand']
|
||||||
+ rfe #1775288 [transformation] proper display if IP-address stored as INT
|
+ rfe #1775288 [transformation] proper display if IP-address stored as INT
|
||||||
+ rfe #1758177 [core] Add the Geometry DataTypes
|
+ rfe #1758177 [core] Add the Geometry DataTypes
|
||||||
+ rfe #1741101, patch #1798184 UUID default for CHAR(36) PRIMARY KEY,
|
+ rfe #1741101, patch #1798184 UUID default for CHAR(36) PRIMARY KEY,
|
||||||
|
@@ -49,6 +49,12 @@ require_once './libraries/List.class.php';
|
|||||||
* @access protected
|
* @access protected
|
||||||
*/
|
*/
|
||||||
var $_show_databases_disabled = false;
|
var $_show_databases_disabled = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string command to retrieve databases from server
|
||||||
|
* @access protected
|
||||||
|
*/
|
||||||
|
var $_command = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@@ -107,26 +113,30 @@ require_once './libraries/List.class.php';
|
|||||||
* @uses $GLOBALS['errno']
|
* @uses $GLOBALS['errno']
|
||||||
* @param string $like_db_name usally a db_name containing wildcards
|
* @param string $like_db_name usally a db_name containing wildcards
|
||||||
*/
|
*/
|
||||||
function _retrieve($like_db_name = '')
|
function _retrieve($like_db_name = null)
|
||||||
{
|
{
|
||||||
if ($this->_show_databases_disabled) {
|
if ($this->_show_databases_disabled) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($like_db_name)) {
|
if (null !== $like_db_name) {
|
||||||
$like = " LIKE '" . $like_db_name . "';";
|
$command = "SHOW DATABASES LIKE '" . $like_db_name . "'";
|
||||||
|
} elseif (null === $this->_command) {
|
||||||
|
$command = str_replace('#user#', $GLOBALS['cfg']['Server']['user'],
|
||||||
|
$GLOBALS['cfg']['Server']['ShowDatabasesCommand']);
|
||||||
|
$this->_command = $command;
|
||||||
} else {
|
} else {
|
||||||
$like = ";";
|
$command = $this->_command;
|
||||||
}
|
}
|
||||||
|
|
||||||
$database_list = PMA_DBI_fetch_result('SHOW DATABASES' . $like, null, null, $this->_db_link);
|
$database_list = PMA_DBI_fetch_result($command, null, null, $this->_db_link);
|
||||||
PMA_DBI_getError();
|
PMA_DBI_getError();
|
||||||
|
|
||||||
if ($GLOBALS['errno'] !== 0) {
|
if ($GLOBALS['errno'] !== 0) {
|
||||||
// failed to get database list, try the control user
|
// failed to get database list, try the control user
|
||||||
// (hopefully there is one and he has SHOW DATABASES right)
|
// (hopefully there is one and he has SHOW DATABASES right)
|
||||||
$this->_db_link = $this->_db_link_control;
|
$this->_db_link = $this->_db_link_control;
|
||||||
$database_list = PMA_DBI_fetch_result('SHOW DATABASES' . $like, null, null, $this->_db_link);
|
$database_list = PMA_DBI_fetch_result($command, null, null, $this->_db_link);
|
||||||
|
|
||||||
PMA_DBI_getError();
|
PMA_DBI_getError();
|
||||||
|
|
||||||
|
@@ -328,6 +328,32 @@ $cfg['Servers'][$i]['DisableIS'] = true;
|
|||||||
*/
|
*/
|
||||||
$cfg['Servers'][$i]['AllowDeny']['rules'] = array();
|
$cfg['Servers'][$i]['AllowDeny']['rules'] = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SQL command to fetch available databases
|
||||||
|
*
|
||||||
|
* by default most user will be fine with SHOW DATABASES,
|
||||||
|
* for servers with a huge amount of databases it is possible to
|
||||||
|
* define a command which executes faster but wiht less information
|
||||||
|
*
|
||||||
|
* especialy when accessing database servers from ISPs chaning this command can
|
||||||
|
* result in a great speed improvement
|
||||||
|
*
|
||||||
|
* fasle will disable fetching databases from the server, only databases in
|
||||||
|
* $cfg['Servers'][$i]['only_db'] will be displayed
|
||||||
|
*
|
||||||
|
* #user# will be replaced by current user
|
||||||
|
*
|
||||||
|
* example:
|
||||||
|
* 'SHOW DATABASES'
|
||||||
|
* "SHOW DATABASES LIKE '#user#\_%'"
|
||||||
|
* 'SELECT DISTINCT TABLE_SCHEMA FROM information_schema.SCHEMA_PRIVILEGES'
|
||||||
|
* 'SELECT SCHEMA_NAME FROM information_schema.SCHEMATA'
|
||||||
|
* false
|
||||||
|
*
|
||||||
|
* @global array $cfg['Servers'][$i]['ShowDatabasesCommand']
|
||||||
|
*/
|
||||||
|
$cfg['Servers'][$i]['ShowDatabasesCommand'] = 'SHOW DATABASES';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default server (0 = no default server)
|
* Default server (0 = no default server)
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user