Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Ungureanu <udan1107@gmail.com>2015-06-14 21:45:35 +0300
committerDan Ungureanu <udan1107@gmail.com>2015-07-10 23:18:11 +0300
commit14999636327f1c4aefb7966c01f93c34c32f2c10 (patch)
tree29107e44bd772162f859fc2063bc00539f4cb44a
parentbb1c3805725202d801aabe11b34072db96e1c185 (diff)
Removed PMA_RTN_parseAllParameters().
Signed-off-by: Dan Ungureanu <udan1107@gmail.com>
-rw-r--r--libraries/rte/rte_routines.lib.php79
-rw-r--r--test/libraries/rte/PMA_RTN_ParameterParser_test.php115
2 files changed, 2 insertions, 192 deletions
diff --git a/libraries/rte/rte_routines.lib.php b/libraries/rte/rte_routines.lib.php
index fdf8f5c903..f326b14974 100644
--- a/libraries/rte/rte_routines.lib.php
+++ b/libraries/rte/rte_routines.lib.php
@@ -80,9 +80,8 @@ function PMA_RTN_main($type)
} // end PMA_RTN_main()
/**
- * This function parses a string containing one parameter of a routine,
- * as returned by PMA_RTN_parseAllParameters() and returns an array containing
- * the information about this parameter.
+ * This function parses a string containing one parameter of a routine
+ * and returns an array containing the information about this parameter.
*
* @param string $value A string containing one parameter of a routine
*
@@ -159,80 +158,6 @@ function PMA_RTN_parseOneParameter($value)
/**
* This function looks through the contents of a parsed
* SHOW CREATE [PROCEDURE | FUNCTION] query and extracts
- * information about the routine's parameters.
- *
- * @param array $parsed_query Parsed query, returned by by PMA_SQP_parse()
- * @param string $routine_type Routine type: 'PROCEDURE' or 'FUNCTION'
- *
- * @return array Information about the parameters of a routine.
- */
-function PMA_RTN_parseAllParameters($parsed_query, $routine_type)
-{
- $retval = array();
- $retval['num'] = 0;
-
- if ($parsed_query) {
- // First get the list of parameters from the query
- $buffer = '';
- $params = array();
- $fetching = false;
- $depth = 0;
- for ($i = 0; $i < $parsed_query['len']; $i++) {
- if ($parsed_query[$i]['type'] == 'alpha_reservedWord'
- && $parsed_query[$i]['data'] == $routine_type
- ) {
- $fetching = true;
- } else if ($fetching == true
- && $parsed_query[$i]['type'] == 'punct_bracket_open_round'
- ) {
- $depth++;
- if ($depth > 1) {
- $buffer .= $parsed_query[$i]['data'] . ' ';
- }
- } else if ($fetching == true
- && $parsed_query[$i]['type'] == 'punct_bracket_close_round'
- ) {
- $depth--;
- if ($depth > 0) {
- $buffer .= $parsed_query[$i]['data'] . ' ';
- } else {
- break;
- }
- } else if ($parsed_query[$i]['type'] == 'punct_listsep' && $depth == 1) {
- $params[] = $buffer;
- $retval['num']++;
- $buffer = '';
- } else if ($fetching == true && $depth > 0) {
- $buffer .= $parsed_query[$i]['data'] . ' ';
- }
- }
- if (! empty($buffer)) {
- $params[] = $buffer;
- $retval['num']++;
- }
- // Now parse each parameter individually
- foreach ($params as $key => $value) {
- list($retval['dir'][],
- $retval['name'][],
- $retval['type'][],
- $retval['length'][],
- $retval['opts'][]) = PMA_RTN_parseOneParameter($value);
- }
- }
- // Since some indices of $retval may be still undefined, we fill
- // them each with an empty array to avoid E_ALL errors in PHP.
- foreach (array('dir', 'name', 'type', 'length', 'opts') as $key => $index) {
- if (! isset($retval[$index])) {
- $retval[$index] = array();
- }
- }
-
- return $retval;
-} // end PMA_RTN_parseAllParameters()
-
-/**
- * This function looks through the contents of a parsed
- * SHOW CREATE [PROCEDURE | FUNCTION] query and extracts
* information about the routine's definer.
*
* @param array $parsed_query Parsed query, returned by PMA_SQP_parse()
diff --git a/test/libraries/rte/PMA_RTN_ParameterParser_test.php b/test/libraries/rte/PMA_RTN_ParameterParser_test.php
index 2ee03142ac..cfced81a20 100644
--- a/test/libraries/rte/PMA_RTN_ParameterParser_test.php
+++ b/test/libraries/rte/PMA_RTN_ParameterParser_test.php
@@ -114,120 +114,5 @@ class PMA_RTN_ParameterParser_Test extends PHPUnit_Framework_TestCase
)
);
}
-
- /**
- * Test for PMA_RTN_parseAllParameters
- *
- * @param string $query Query
- * @param string $type Type
- * @param array $target Expected output
- *
- * @return void
- *
- * @depends testParseOneParameter
- * @dataProvider queryProvider
- */
- public function testParseAllParameters($query, $type, $target)
- {
- PMA_RTN_setGlobals();
- $this->assertEquals(
- $target,
- PMA_RTN_parseAllParameters(PMA_SQP_parse($query), $type)
- );
- }
-
- /**
- * Data provider for testParseAllParameters
- *
- * @return array
- */
- public function queryProvider()
- {
- return array(
- array(
- 'CREATE PROCEDURE `foo`() SET @A=0',
- 'PROCEDURE',
- array(
- 'num' => 0,
- 'dir' => array(),
- 'name' => array(),
- 'type' => array(),
- 'length' => array(),
- 'opts' => array()
- )
- ),
- array(
- 'CREATE DEFINER=`user\\`@`somehost``(` FUNCTION `foo```(`baz` INT) BEGIN SELECT NULL; END',
- 'FUNCTION',
- array(
- 'num' => 1,
- 'dir' => array(
- 0 => ''
- ),
- 'name' => array(
- 0 => 'baz'
- ),
- 'type' => array(
- 0 => 'INT'
- ),
- 'length' => array(
- 0 => ''
- ),
- 'opts' => array(
- 0 => ''
- )
- )
- ),
- array(
- 'CREATE PROCEDURE `foo`(IN `baz\\)` INT(25) zerofill unsigned) BEGIN SELECT NULL; END',
- 'PROCEDURE',
- array(
- 'num' => 1,
- 'dir' => array(
- 0 => 'IN'
- ),
- 'name' => array(
- 0 => 'baz\\)'
- ),
- 'type' => array(
- 0 => 'INT'
- ),
- 'length' => array(
- 0 => '25'
- ),
- 'opts' => array(
- 0 => 'UNSIGNED ZEROFILL'
- )
- )
- ),
- array(
- 'CREATE PROCEDURE `foo`(IN `baz\\` INT(001) zerofill, out bazz varchar(15) charset UTF8) BEGIN SELECT NULL; END',
- 'PROCEDURE',
- array(
- 'num' => 2,
- 'dir' => array(
- 0 => 'IN',
- 1 => 'OUT'
- ),
- 'name' => array(
- 0 => 'baz\\',
- 1 => 'bazz'
- ),
- 'type' => array(
- 0 => 'INT',
- 1 => 'VARCHAR'
- ),
- 'length' => array(
- 0 => '1',
- 1 => '15'
- ),
- 'opts' => array(
- 0 => 'ZEROFILL',
- 1 => 'utf8'
- )
- )
- ),
- );
- }
}
?>