phpmyadmin/ajax.php
Michal Čihař 358d2fd1f1 Rewrite export alias defining
The old code did load all colums for all tables in all databases in
export. This can easily explode for server wide exports or exports on
database with lot of tables.

It has been rewritten in a way to load required data on demand from
server. This will make aliases defining slightly slower, but I think
it's acceptable price for making the export work on larger databases.

Fixes #13008

Signed-off-by: Michal Čihař <michal@cihar.com>
2017-06-13 17:02:45 +02:00

35 lines
913 B
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Generic AJAX endpoint for getting information about database
*
* @package PhpMyAdmin
*/
use PMA\libraries\Response;
use PMA\libraries\Util;
require_once 'libraries/common.inc.php';
$response = Response::getInstance();
if (empty($_POST['type'])) {
PMA_fatalError(__('Bad type!'));
}
switch ($_POST['type']) {
case 'list-databases':
$response->addJSON('databases', $GLOBALS['dblist']->databases);
break;
case 'list-tables':
Util::checkParameters(array('db'));
$response->addJSON('tables', $GLOBALS['dbi']->getTables($_REQUEST['db']));
break;
case 'list-columns':
Util::checkParameters(array('db', 'table'));
$response->addJSON('columns', $GLOBALS['dbi']->getColumnNames($_REQUEST['db'], $_REQUEST['table']));
break;
default:
PMA_fatalError(__('Bad type!'));
}