diff --git a/libraries/rte/rte_list.lib.php b/libraries/rte/rte_list.lib.php index c50b0bad5d..e233a61348 100644 --- a/libraries/rte/rte_list.lib.php +++ b/libraries/rte/rte_list.lib.php @@ -220,16 +220,13 @@ function PMA_RTN_getRowForList($routine, $rowclass = '') // Check if the routine has any input parameters. If it does, // we will show a dialog to get values for these parameters, // otherwise we can execute it directly. - $params = PMA_RTN_parseAllParameters( - PMA_SQP_parse( - $GLOBALS['dbi']->getDefinition( - $db, - $routine['type'], - $routine['name'] - ) - ), - $routine['type'] - ); + + $parser = new SqlParser\Parser($GLOBALS['dbi']->getDefinition( + $db, + $routine['type'], + $routine['name'] + )); + $params = SqlParser\Utils\Routine::getParameters($parser->statements[0]); if ($routine !== false) { if (PMA_Util::currentUserHasPrivilege('EXECUTE', $db)) { $execute_action = 'execute_routine'; diff --git a/libraries/rte/rte_routines.lib.php b/libraries/rte/rte_routines.lib.php index 8f2db513ac..fdf8f5c903 100644 --- a/libraries/rte/rte_routines.lib.php +++ b/libraries/rte/rte_routines.lib.php @@ -694,14 +694,12 @@ function PMA_RTN_getDataFromName($name, $type, $all = true) // Get required data $retval['item_name'] = $routine['SPECIFIC_NAME']; $retval['item_type'] = $routine['ROUTINE_TYPE']; - $parsed_query = PMA_SQP_parse( - $GLOBALS['dbi']->getDefinition( - $db, - $routine['ROUTINE_TYPE'], - $routine['SPECIFIC_NAME'] - ) - ); - $params = PMA_RTN_parseAllParameters($parsed_query, $routine['ROUTINE_TYPE']); + $parser = new SqlParser\Parser($GLOBALS['dbi']->getDefinition( + $db, + $routine['ROUTINE_TYPE'], + $routine['SPECIFIC_NAME'] + )); + $params = SqlParser\Utils\Routine::getParameters($parser->statements[0]); $retval['item_num_params'] = $params['num']; $retval['item_param_dir'] = $params['dir']; $retval['item_param_name'] = $params['name'];