Merge branch 'QA_4_6'

Signed-off-by: Michal Čihař <michal@cihar.com>
This commit is contained in:
Michal Čihař 2017-01-23 14:03:41 +01:00
commit 27fb0b58af
22 changed files with 105 additions and 107 deletions

View File

@ -32,7 +32,7 @@
"ext-xml": "*",
"ext-pcre": "*",
"ext-json": "*",
"phpmyadmin/sql-parser": "^3.4",
"phpmyadmin/sql-parser": "^4.0",
"phpmyadmin/motranslator": "^3.0",
"phpmyadmin/shapefile": "^2.0",
"tecnickcom/tcpdf": "^6.2",

View File

@ -15,7 +15,7 @@ require_once 'libraries/common.inc.php';
$query = !empty($_POST['sql']) ? $_POST['sql'] : '';
$query = SqlParser\Utils\Formatter::format($query);
$query = PhpMyAdmin\SqlParser\Utils\Formatter::format($query);
$response = Response::getInstance();
$response->addJSON("sql", $query);

View File

@ -277,12 +277,12 @@ if ($export_type == 'server') {
// Merge SQL Query aliases with Export aliases from
// export page, Export page aliases are given more
// preference over SQL Query aliases.
$parser = new SqlParser\Parser($sql_query);
$parser = new \PhpMyAdmin\SqlParser\Parser($sql_query);
$aliases = array();
if ((!empty($parser->statements[0]))
&& ($parser->statements[0] instanceof SqlParser\Statements\SelectStatement)
&& ($parser->statements[0] instanceof \PhpMyAdmin\SqlParser\Statements\SelectStatement)
) {
$aliases = SqlParser\Utils\Misc::getAliases($parser->statements[0], $db);
$aliases = \PhpMyAdmin\SqlParser\Utils\Misc::getAliases($parser->statements[0], $db);
}
if (!empty($_REQUEST['aliases'])) {
$aliases = PMA_mergeAliases($aliases, $_REQUEST['aliases']);

View File

@ -7,7 +7,7 @@
*/
namespace PMA\libraries;
use SqlParser\Utils\Query;
use PhpMyAdmin\SqlParser\Utils\Query;
use PMA\libraries\plugins\transformations\Text_Plain_Link;
use PMA\libraries\URL;
use PMA\libraries\Sanitize;
@ -4247,7 +4247,7 @@ class DisplayResults
/**
* The statement this table is built for.
* @var \SqlParser\Statements\SelectStatement
* @var \PhpMyAdmin\SqlParser\Statements\SelectStatement
*/
$statement = $analyzed_sql_results['statement'];

View File

@ -7,10 +7,10 @@
*/
namespace PMA\libraries;
use SqlParser\Lexer;
use SqlParser\Parser;
use SqlParser\UtfString;
use SqlParser\Utils\Error as ParserError;
use PhpMyAdmin\SqlParser\Lexer;
use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\UtfString;
use PhpMyAdmin\SqlParser\Utils\Error as ParserError;
/**
* The linter itself.

View File

@ -8,11 +8,11 @@
namespace PMA\libraries;
use PMA\libraries\plugins\export\ExportSql;
use SqlParser\Components\Expression;
use SqlParser\Components\OptionsArray;
use SqlParser\Context;
use SqlParser\Parser;
use SqlParser\Statements\DropStatement;
use PhpMyAdmin\SqlParser\Components\Expression;
use PhpMyAdmin\SqlParser\Components\OptionsArray;
use PhpMyAdmin\SqlParser\Context;
use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Statements\DropStatement;
/**
* Handles everything related to tables
@ -905,7 +905,7 @@ class Table
/**
* The CREATE statement of this structure.
* @var \SqlParser\Statements\CreateStatement $statement
* @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $statement
*/
$statement = $parser->statements[0];
@ -932,7 +932,7 @@ class Table
/**
* The ALTER statement that generates the constraints.
* @var \SqlParser\Statements\AlterStatement $statement
* @var \PhpMyAdmin\SqlParser\Statements\AlterStatement $statement
*/
$statement = $parser->statements[0];
@ -971,7 +971,7 @@ class Table
$GLOBALS['sql_indexes'] = '';
/**
* The ALTER statement that generates the indexes.
* @var \SqlParser\Statements\AlterStatement $statement
* @var \PhpMyAdmin\SqlParser\Statements\AlterStatement $statement
*/
foreach ($parser->statements as $statement) {
@ -1013,7 +1013,7 @@ class Table
/**
* The ALTER statement that alters the AUTO_INCREMENT value.
* @var \SqlParser\Statements\AlterStatement $statement
* @var \PhpMyAdmin\SqlParser\Statements\AlterStatement $statement
*/
$statement = $parser->statements[0];
@ -2432,10 +2432,10 @@ class Table
$parser = new Parser($createTable);
/**
* @var \SqlParser\Statements\CreateStatement $stmt
* @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $stmt
*/
$stmt = $parser->statements[0];
$fields = \SqlParser\Utils\Table::getFields($stmt);
$fields = \PhpMyAdmin\SqlParser\Utils\Table::getFields($stmt);
if ($column != null) {
$expression = isset($fields[$column]['expr']) ?
substr($fields[$column]['expr'], 1, -1) : '';

View File

@ -617,7 +617,7 @@ class Tracker
// $parsed_sql = PMA_SQP_parse($query);
// $sql_info = PMA_SQP_analyze($parsed_sql);
$parser = new \SqlParser\Parser($query);
$parser = new \PhpMyAdmin\SqlParser\Parser($query);
$tokens = $parser->list->tokens;
@ -638,7 +638,7 @@ class Tracker
$result['type'] = 'DDL';
// Parse CREATE statement
if ($statement instanceof \SqlParser\Statements\CreateStatement) {
if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\CreateStatement) {
if (empty($options) || !isset($options[6])) {
return $result;
}
@ -666,7 +666,7 @@ class Tracker
}
// Parse ALTER statement
elseif ($statement instanceof \SqlParser\Statements\AlterStatement) {
elseif ($statement instanceof \PhpMyAdmin\SqlParser\Statements\AlterStatement) {
if (empty($options) || !isset($options[3])) {
return $result;
}
@ -683,7 +683,7 @@ class Tracker
}
// Parse DROP statement
elseif ($statement instanceof \SqlParser\Statements\DropStatement) {
elseif ($statement instanceof \PhpMyAdmin\SqlParser\Statements\DropStatement) {
if (empty($options) || !isset($options[1])) {
return $result;
}
@ -703,7 +703,7 @@ class Tracker
}
// Prase RENAME statement
elseif ($statement instanceof \SqlParser\Statements\RenameStatement) {
elseif ($statement instanceof \PhpMyAdmin\SqlParser\Statements\RenameStatement) {
$result['identifier'] = 'RENAME TABLE';
$result['tablename'] = $statement->renames[0]->old->table;
$result['tablename_after_rename'] = $statement->renames[0]->new->table;
@ -719,25 +719,25 @@ class Tracker
$result['type'] = 'DML';
// Parse UPDATE statement
if ($statement instanceof \SqlParser\Statements\UpdateStatement) {
if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\UpdateStatement) {
$result['identifier'] = 'UPDATE';
$result['tablename'] = $statement->tables[0]->table;
}
// Parse INSERT INTO statement
if ($statement instanceof \SqlParser\Statements\InsertStatement) {
if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\InsertStatement) {
$result['identifier'] = 'INSERT';
$result['tablename'] = $statement->into->dest->table;
}
// Parse DELETE statement
if ($statement instanceof \SqlParser\Statements\DeleteStatement) {
if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\DeleteStatement) {
$result['identifier'] = 'DELETE';
$result['tablename'] = $statement->from[0]->table;
}
// Parse TRUNCATE statement
if ($statement instanceof \SqlParser\Statements\TruncateStatement) {
if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\TruncateStatement) {
$result['identifier'] = 'TRUNCATE' ;
$result['tablename'] = $statement->table->table;
}

View File

@ -8,15 +8,15 @@
namespace PMA\libraries;
use PMA\libraries\plugins\ImportPlugin;
use SqlParser\Context;
use SqlParser\Lexer;
use SqlParser\Parser;
use SqlParser\Token;
use PhpMyAdmin\SqlParser\Context;
use PhpMyAdmin\SqlParser\Lexer;
use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Token;
use stdClass;
use SqlParser\Utils\Error as ParserError;
use PMA\libraries\URL;
use PMA\libraries\Sanitize;
use PMA\libraries\Template;
use PhpMyAdmin\SqlParser\Utils\Error as ParserError;
if (! defined('PHPMYADMIN')) {
exit;

View File

@ -800,11 +800,11 @@ if (! defined('PMA_MINIMUM_COMMON')) {
$GLOBALS['PMA_Types'] = new TypesMySQL();
// Loads closest context to this version.
SqlParser\Context::loadClosest('MySql' . PMA_MYSQL_INT_VERSION);
PhpMyAdmin\SqlParser\Context::loadClosest('MySql' . PMA_MYSQL_INT_VERSION);
// Sets the default delimiter (if specified).
if (!empty($_REQUEST['sql_delimiter'])) {
SqlParser\Lexer::$DEFAULT_DELIMITER = $_REQUEST['sql_delimiter'];
PhpMyAdmin\SqlParser\Lexer::$DEFAULT_DELIMITER = $_REQUEST['sql_delimiter'];
}
// TODO: Set SQL modes too.

View File

@ -15,8 +15,9 @@ use PMA\libraries\Message;
use PMA\libraries\Template;
use PMA\libraries\Util;
use PMA\Util as Util_lib;
use SqlParser;
use SqlParser\Statements\CreateStatement;
use PhpMyAdmin\SqlParser;
use PhpMyAdmin\SqlParser\Statements\CreateStatement;
use PhpMyAdmin\SqlParser\Utils\Table as SqlTable;
use PMA\libraries\Table;
use PMA\libraries\controllers\TableController;
use PMA\libraries\URL;
@ -145,11 +146,11 @@ class TableStructureController extends TableController
$columns_names = $_REQUEST['field_name'];
$reserved_keywords_names = array();
foreach ($columns_names as $column) {
if (SqlParser\Context::isKeyword(trim($column), true)) {
if (\PhpMyAdmin\SqlParser\Context::isKeyword(trim($column), true)) {
$reserved_keywords_names[] = trim($column);
}
}
if (SqlParser\Context::isKeyword(trim($this->table), true)) {
if (\PhpMyAdmin\SqlParser\Context::isKeyword(trim($this->table), true)) {
$reserved_keywords_names[] = trim($this->table);
}
if (count($reserved_keywords_names) == 0) {
@ -548,9 +549,9 @@ class TableStructureController extends TableController
return null;
}
$parser = new SqlParser\Parser($createTable);
$parser = new \PhpMyAdmin\SqlParser\Parser($createTable);
/**
* @var $stmt SqlParser\Statements\CreateStatement
* @var $stmt PhpMyAdmin\SqlParser\Statements\CreateStatement
*/
$stmt = $parser->statements[0];

View File

@ -1347,7 +1347,7 @@ function PMA_handleSimulateDMLRequest()
}
// Parsing the query.
$parser = new SqlParser\Parser($sql_query);
$parser = new PhpMyAdmin\SqlParser\Parser($sql_query);
if (empty($parser->statements[0])) {
continue;
@ -1361,15 +1361,15 @@ function PMA_handleSimulateDMLRequest()
'statement' => $statement,
);
if ((!(($statement instanceof SqlParser\Statements\UpdateStatement)
|| ($statement instanceof SqlParser\Statements\DeleteStatement)))
if ((!(($statement instanceof PhpMyAdmin\SqlParser\Statements\UpdateStatement)
|| ($statement instanceof PhpMyAdmin\SqlParser\Statements\DeleteStatement)))
|| (!empty($statement->join))
) {
$error = $error_msg;
break;
}
$tables = SqlParser\Utils\Query::getTables($statement);
$tables = PhpMyAdmin\SqlParser\Utils\Query::getTables($statement);
if (count($tables) > 1) {
$error = $error_msg;
break;
@ -1405,9 +1405,9 @@ function PMA_getMatchedRows($analyzed_sql_results = array())
$statement = $analyzed_sql_results['statement'];
$matched_row_query = '';
if ($statement instanceof SqlParser\Statements\DeleteStatement) {
if ($statement instanceof PhpMyAdmin\SqlParser\Statements\DeleteStatement) {
$matched_row_query = PMA_getSimulatedDeleteQuery($analyzed_sql_results);
} elseif ($statement instanceof SqlParser\Statements\UpdateStatement) {
} elseif ($statement instanceof PhpMyAdmin\SqlParser\Statements\UpdateStatement) {
$matched_row_query = PMA_getSimulatedUpdateQuery($analyzed_sql_results);
}
@ -1437,11 +1437,11 @@ function PMA_getMatchedRows($analyzed_sql_results = array())
*/
function PMA_getSimulatedUpdateQuery($analyzed_sql_results)
{
$table_references = SqlParser\Utils\Query::getTables(
$table_references = PhpMyAdmin\SqlParser\Utils\Query::getTables(
$analyzed_sql_results['statement']
);
$where = SqlParser\Utils\Query::getClause(
$where = PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'WHERE'
@ -1464,7 +1464,7 @@ function PMA_getSimulatedUpdateQuery($analyzed_sql_results)
$order_and_limit = '';
if (!empty($analyzed_sql_results['statement']->order)) {
$order_and_limit .= ' ORDER BY ' . SqlParser\Utils\Query::getClause(
$order_and_limit .= ' ORDER BY ' . PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'ORDER BY'
@ -1472,7 +1472,7 @@ function PMA_getSimulatedUpdateQuery($analyzed_sql_results)
}
if (!empty($analyzed_sql_results['statement']->limit)) {
$order_and_limit .= ' LIMIT ' . SqlParser\Utils\Query::getClause(
$order_and_limit .= ' LIMIT ' . PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'LIMIT'
@ -1493,11 +1493,11 @@ function PMA_getSimulatedUpdateQuery($analyzed_sql_results)
*/
function PMA_getSimulatedDeleteQuery($analyzed_sql_results)
{
$table_references = SqlParser\Utils\Query::getTables(
$table_references = PhpMyAdmin\SqlParser\Utils\Query::getTables(
$analyzed_sql_results['statement']
);
$where = SqlParser\Utils\Query::getClause(
$where = PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'WHERE'
@ -1510,7 +1510,7 @@ function PMA_getSimulatedDeleteQuery($analyzed_sql_results)
$order_and_limit = '';
if (!empty($analyzed_sql_results['statement']->order)) {
$order_and_limit .= ' ORDER BY ' . SqlParser\Utils\Query::getClause(
$order_and_limit .= ' ORDER BY ' . PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'ORDER BY'
@ -1518,7 +1518,7 @@ function PMA_getSimulatedDeleteQuery($analyzed_sql_results)
}
if (!empty($analyzed_sql_results['statement']->limit)) {
$order_and_limit .= ' LIMIT ' . SqlParser\Utils\Query::getClause(
$order_and_limit .= ' LIMIT ' . PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'LIMIT'
@ -1601,7 +1601,7 @@ function PMA_handleRollbackRequest($sql_query)
*/
function PMA_checkIfRollbackPossible($sql_query)
{
$parser = new SqlParser\Parser($sql_query);
$parser = new PhpMyAdmin\SqlParser\Parser($sql_query);
if (empty($parser->statements[0])) {
return false;
@ -1610,16 +1610,16 @@ function PMA_checkIfRollbackPossible($sql_query)
$statement = $parser->statements[0];
// Check if query is supported.
if (!(($statement instanceof SqlParser\Statements\InsertStatement)
|| ($statement instanceof SqlParser\Statements\UpdateStatement)
|| ($statement instanceof SqlParser\Statements\DeleteStatement)
|| ($statement instanceof SqlParser\Statements\ReplaceStatement))
if (!(($statement instanceof PhpMyAdmin\SqlParser\Statements\InsertStatement)
|| ($statement instanceof PhpMyAdmin\SqlParser\Statements\UpdateStatement)
|| ($statement instanceof PhpMyAdmin\SqlParser\Statements\DeleteStatement)
|| ($statement instanceof PhpMyAdmin\SqlParser\Statements\ReplaceStatement))
) {
return false;
}
// Get table_references from the query.
$tables = SqlParser\Utils\Query::getTables($statement);
$tables = PhpMyAdmin\SqlParser\Utils\Query::getTables($statement);
// Check if each table is 'InnoDB'.
foreach ($tables as $table) {

View File

@ -27,7 +27,7 @@ function PMA_parseAnalyze($sql_query, $db)
$GLOBALS['unparsed_sql'] = $sql_query;
// Get details about the SQL query.
$analyzed_sql_results = SqlParser\Utils\Query::getAll($sql_query);
$analyzed_sql_results = PhpMyAdmin\SqlParser\Utils\Query::getAll($sql_query);
extract($analyzed_sql_results);
$table = '';

View File

@ -21,11 +21,11 @@ use PMA\libraries\plugins\ExportPlugin;
use PMA\libraries\Util;
use PMA\libraries\properties\options\items\RadioPropertyItem;
use PMA\libraries\properties\options\items\SelectPropertyItem;
use SqlParser\Components\CreateDefinition;
use SqlParser\Context;
use SqlParser\Parser;
use SqlParser\Statements\SelectStatement;
use SqlParser\Token;
use PhpMyAdmin\SqlParser\Components\CreateDefinition;
use PhpMyAdmin\SqlParser\Context;
use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Statements\SelectStatement;
use PhpMyAdmin\SqlParser\Token;
use PMA\libraries\properties\options\items\TextPropertyItem;
/**
@ -2664,7 +2664,7 @@ class ExportSql extends ExportPlugin
/**
* The statement that represents the query.
*
* @var \SqlParser\Statements\CreateStatement $statement
* @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $statement
*/
$statement = $parser->statements[0];

View File

@ -15,7 +15,6 @@ use PMA\libraries\properties\options\groups\OptionsPropertyRootGroup;
use PMA;
use PMA\libraries\plugins\ImportPlugin;
use PMA\libraries\properties\options\items\SelectPropertyItem;
use SqlParser;
/**
* Handles the import for the SQL format
@ -111,7 +110,7 @@ class ImportSql extends ImportPlugin
// Handle compatibility options.
$this->_setSQLMode($GLOBALS['dbi'], $_REQUEST);
$bq = new SqlParser\Utils\BufferedQuery();
$bq = new \PhpMyAdmin\SqlParser\Utils\BufferedQuery();
if (isset($_POST['sql_delimiter'])) {
$bq->setDelimiter($_POST['sql_delimiter']);
}

View File

@ -8,7 +8,6 @@
use PMA\libraries\Message;
use PMA\libraries\Table;
use PMA\libraries\RecentFavoriteTable;
use SqlParser\Statements\CreateStatement;
use PMA\libraries\URL;
/**
@ -773,12 +772,12 @@ function PMA_getForeigners($db, $table, $column = '', $source = 'both')
$tableObj = new Table($table, $db);
$show_create_table = $tableObj->showCreate();
if ($show_create_table) {
$parser = new SqlParser\Parser($show_create_table);
$parser = new \PhpMyAdmin\SqlParser\Parser($show_create_table);
/**
* @var CreateStatement $stmt
* @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $stmt
*/
$stmt = $parser->statements[0];
$foreign['foreign_keys_data'] = SqlParser\Utils\Table::getForeignKeys(
$foreign['foreign_keys_data'] = \PhpMyAdmin\SqlParser\Utils\Table::getForeignKeys(
$stmt
);
}

View File

@ -5,11 +5,10 @@
*
* @package PhpMyAdmin
*/
use SqlParser\Statements\CreateStatement;
use PMA\libraries\Response;
use PMA\libraries\URL;
use PMA\libraries\Template;
use PhpMyAdmin\SqlParser\Statements\CreateStatement;
if (! defined('PHPMYADMIN')) {
exit;
@ -254,14 +253,14 @@ function PMA_RTN_getRowForList($routine, $rowclass = '')
$db, $routine['type'], $routine['name']
);
if ($definition !== false) {
$parser = new SqlParser\Parser($definition);
$parser = new PhpMyAdmin\SqlParser\Parser($definition);
/**
* @var CreateStatement $stmt
*/
$stmt = $parser->statements[0];
$params = SqlParser\Utils\Routine::getParameters($stmt);
$params = PhpMyAdmin\SqlParser\Utils\Routine::getParameters($stmt);
if (PMA\libraries\Util::currentUserHasPrivilege('EXECUTE', $db)) {
$execute_action = 'execute_routine';

View File

@ -9,8 +9,8 @@ use PMA\libraries\Charsets;
use PMA\libraries\Message;
use PMA\libraries\Response;
use PMA\libraries\Util;
use SqlParser\Statements\CreateStatement;
use PMA\libraries\URL;
use PhpMyAdmin\SqlParser\Statements\CreateStatement;
if (! defined('PHPMYADMIN')) {
exit;
@ -608,14 +608,14 @@ function PMA_RTN_getDataFromName($name, $type, $all = true)
return false;
}
$parser = new SqlParser\Parser($definition);
$parser = new PhpMyAdmin\SqlParser\Parser($definition);
/**
* @var CreateStatement $stmt
*/
$stmt = $parser->statements[0];
$params = SqlParser\Utils\Routine::getParameters($stmt);
$params = PhpMyAdmin\SqlParser\Utils\Routine::getParameters($stmt);
$retval['item_num_params'] = $params['num'];
$retval['item_param_dir'] = $params['dir'];
$retval['item_param_name'] = $params['name'];

View File

@ -63,19 +63,19 @@ function PMA_handleSortOrder(
);
// Create the new query.
$full_sql_query = SqlParser\Utils\Query::replaceClause(
$full_sql_query = PhpMyAdmin\SqlParser\Utils\Query::replaceClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'ORDER BY ' . $sortCol
);
// TODO: Avoid reparsing the query.
$analyzed_sql_results = SqlParser\Utils\Query::getAll($full_sql_query);
$analyzed_sql_results = PhpMyAdmin\SqlParser\Utils\Query::getAll($full_sql_query);
} else {
// Store the remembered table into session.
$pmatable->setUiProp(
Table::PROP_SORTED_COLUMN,
SqlParser\Utils\Query::getClause(
PhpMyAdmin\SqlParser\Utils\Query::getClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'ORDER BY'
@ -93,7 +93,7 @@ function PMA_handleSortOrder(
*/
function PMA_getSqlWithLimitClause(&$analyzed_sql_results)
{
return SqlParser\Utils\Query::replaceClause(
return PhpMyAdmin\SqlParser\Utils\Query::replaceClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'LIMIT ' . $_SESSION['tmpval']['pos'] . ', '
@ -1156,7 +1156,7 @@ function PMA_countQueryResults(
// For UNION statements, only a SQL_CALC_FOUND_ROWS is required
// after the first SELECT.
$count_query = SqlParser\Utils\Query::replaceClause(
$count_query = PhpMyAdmin\SqlParser\Utils\Query::replaceClause(
$analyzed_sql_results['statement'],
$analyzed_sql_results['parser']->list,
'SELECT SQL_CALC_FOUND_ROWS',
@ -1299,7 +1299,7 @@ function PMA_deleteTransformationInfo($db, $table, $analyzed_sql_results)
{
include_once 'libraries/transformations.lib.php';
$statement = $analyzed_sql_results['statement'];
if ($statement instanceof SqlParser\Statements\AlterStatement) {
if ($statement instanceof PhpMyAdmin\SqlParser\Statements\AlterStatement) {
if (!empty($statement->altered[0])
&& $statement->altered[0]->options->has('DROP')
) {
@ -1311,7 +1311,7 @@ function PMA_deleteTransformationInfo($db, $table, $analyzed_sql_results)
);
}
}
} elseif ($statement instanceof SqlParser\Statements\DropStatement) {
} elseif ($statement instanceof PhpMyAdmin\SqlParser\Statements\DropStatement) {
PMA_clearTransformations($db, $table);
}
}
@ -1867,7 +1867,7 @@ function PMA_getQueryResponseForResultsReturned($result, $analyzed_sql_results,
$updatableView = false;
$statement = $analyzed_sql_results['statement'];
if ($statement instanceof SqlParser\Statements\SelectStatement) {
if ($statement instanceof PhpMyAdmin\SqlParser\Statements\SelectStatement) {
if (!empty($statement->expr)) {
if ($statement->expr[0]->expr === '*') {
$_table = new Table($table, $db);

View File

@ -47,10 +47,10 @@ $export_page_title = __('View dump (schema) of table');
// generate WHERE clause (if we are asked to export specific rows)
if (! empty($sql_query)) {
$parser = new SqlParser\Parser($sql_query);
$parser = new PhpMyAdmin\SqlParser\Parser($sql_query);
if ((!empty($parser->statements[0]))
&& ($parser->statements[0] instanceof SqlParser\Statements\SelectStatement)
&& ($parser->statements[0] instanceof PhpMyAdmin\SqlParser\Statements\SelectStatement)
) {
// Finding aliases and removing them, but we keep track of them to be
@ -72,7 +72,7 @@ if (! empty($sql_query)) {
) {
$replaces = array(
array(
'FROM', 'FROM ' . SqlParser\Components\ExpressionArray::build(
'FROM', 'FROM ' . PhpMyAdmin\SqlParser\Components\ExpressionArray::build(
$parser->statements[0]->from
),
),
@ -90,33 +90,33 @@ if (! empty($sql_query)) {
$replaces[] = array('LIMIT', '');
// Replacing the clauses.
$sql_query = SqlParser\Utils\Query::replaceClauses(
$sql_query = PhpMyAdmin\SqlParser\Utils\Query::replaceClauses(
$parser->statements[0],
$parser->list,
$replaces
);
// Removing the aliases by finding the alias followed by a dot.
$tokens = SqlParser\Lexer::getTokens($sql_query);
$tokens = PhpMyAdmin\SqlParser\Lexer::getTokens($sql_query);
foreach ($aliases as $alias => $table) {
$tokens = SqlParser\Utils\Tokens::replaceTokens(
$tokens = PhpMyAdmin\SqlParser\Utils\Tokens::replaceTokens(
$tokens,
array(
array(
'value_str' => $alias,
),
array(
'type' => SqlParser\Token::TYPE_OPERATOR,
'type' => PhpMyAdmin\SqlParser\Token::TYPE_OPERATOR,
'value_str' => '.',
)
),
array(
new SqlParser\Token($table),
new SqlParser\Token('.', SqlParser\Token::TYPE_OPERATOR)
new PhpMyAdmin\SqlParser\Token($table),
new PhpMyAdmin\SqlParser\Token('.',PhpMyAdmin\SqlParser\Token::TYPE_OPERATOR)
)
);
}
$sql_query = SqlParser\TokensList::build($tokens);
$sql_query = PhpMyAdmin\SqlParser\TokensList::build($tokens);
}
echo PMA\libraries\Util::getMessage(PMA\libraries\Message::success());

View File

@ -87,7 +87,7 @@ class DisplayResultsTest extends PMATestCase
*/
public function testisSelect()
{
$parser = new \SqlParser\Parser('SELECT * FROM pma');
$parser = new \PhpMyAdmin\SqlParser\Parser('SELECT * FROM pma');
$this->assertTrue(
$this->_callPrivateFunction(
'_isSelect',
@ -1211,7 +1211,7 @@ class DisplayResultsTest extends PMATestCase
*/
public function dataProviderForTestSetHighlightedColumnGlobalField()
{
$parser = new SqlParser\Parser(
$parser = new PhpMyAdmin\SqlParser\Parser(
'SELECT * FROM db_name WHERE `db_name`.`tbl`.id > 0 AND `id` < 10'
);
return array(

View File

@ -385,7 +385,7 @@ class PMA_Import_Test extends PHPUnit_Framework_TestCase
*/
function simulatedQueryTest($sql_query, $simulated_query)
{
$parser = new SqlParser\Parser($sql_query);
$parser = new PhpMyAdmin\SqlParser\Parser($sql_query);
$analyzed_sql_results = array(
'query' => $sql_query,
'parser' => $parser,

View File

@ -169,8 +169,8 @@ class PMA_QuotingSlashing_Test extends PHPUnit_Framework_TestCase
*/
public function testBackquoteForbidenWords()
{
foreach (SqlParser\Context::$KEYWORDS as $keyword => $type) {
if ($type & SqlParser\Token::FLAG_KEYWORD_RESERVED) {
foreach (PhpMyAdmin\SqlParser\Context::$KEYWORDS as $keyword => $type) {
if ($type & PhpMyAdmin\SqlParser\Token::FLAG_KEYWORD_RESERVED) {
$this->assertEquals(
"`" . $keyword . "`",
PMA\libraries\Util::backquote($keyword, false)