Visitar URL original
Improve type inference of exportRoutineSQL's $type param · phpmyadmin/phpmyadmin@b79b9e3 · GitHub
Skip to content

Commit b79b9e3

Browse files
committed
Improve type inference of exportRoutineSQL's $type param
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
1 parent 1c84457 commit b79b9e3

2 files changed

Lines changed: 12 additions & 11 deletions

File tree

‎libraries/classes/Plugins/Export/ExportSql.php‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -524,17 +524,17 @@ protected function setProperties(): ExportPluginProperties
524524
*
525525
* @param string $db Database
526526
* @param array $aliases Aliases of db/table/columns
527-
* @param string $type Type of exported routine
528527
* @param string $name Verbose name of exported routine
529528
* @param array $routines List of routines to export
530529
* @param string $delimiter Delimiter to use in SQL
530+
* @psalm-param 'FUNCTION'|'PROCEDURE' $type
531531
*
532532
* @return string SQL query
533533
*/
534534
protected function exportRoutineSQL(
535535
$db,
536536
array $aliases,
537-
$type,
537+
string $type,
538538
$name,
539539
array $routines,
540540
$delimiter
@@ -555,13 +555,13 @@ protected function exportRoutineSQL(
555555
. $delimiter . $GLOBALS['crlf'];
556556
}
557557

558-
$createQuery = $this->replaceWithAliases(
559-
$GLOBALS['dbi']->getDefinition($db, $type, $routine),
560-
$aliases,
561-
$db,
562-
'',
563-
$flag
564-
);
558+
if ($type === 'FUNCTION') {
559+
$definition = $GLOBALS['dbi']->getDefinition($db, 'FUNCTION', $routine);
560+
} else {
561+
$definition = $GLOBALS['dbi']->getDefinition($db, 'PROCEDURE', $routine);
562+
}
563+
564+
$createQuery = $this->replaceWithAliases($definition, $aliases, $db, '', $flag);
565565
if (! empty($createQuery) && $GLOBALS['cfg']['Export']['remove_definer_from_definitions']) {
566566
// Remove definer clause from routine definitions
567567
$parser = new Parser($createQuery);

‎psalm-baseline.xml‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9559,7 +9559,7 @@
95599559
<code>$GLOBALS['cfg']['Export']</code>
95609560
<code>$GLOBALS['cfg']['Export']</code>
95619561
</InvalidArrayOffset>
9562-
<MixedArgument occurrences="50">
9562+
<MixedArgument occurrences="51">
95639563
<code>$GLOBALS['sql_auto_increments']</code>
95649564
<code>$GLOBALS['sql_auto_increments']</code>
95659565
<code>$GLOBALS['sql_backquotes']</code>
@@ -9607,6 +9607,7 @@
96079607
<code>$rel['foreign_table']</code>
96089608
<code>$routine</code>
96099609
<code>$routine</code>
9610+
<code>$routine</code>
96109611
<code>$table</code>
96119612
<code>$token-&gt;value</code>
96129613
<code>$trigger['create']</code>
@@ -9702,8 +9703,8 @@
97029703
<code>Context::escape($alias)</code>
97039704
</PossiblyInvalidPropertyAssignmentValue>
97049705
<PossiblyNullArgument occurrences="5">
9705-
<code>$GLOBALS['dbi']-&gt;getDefinition($db, $type, $routine)</code>
97069706
<code>$createQuery</code>
9707+
<code>$definition</code>
97079708
<code>$tableAlias</code>
97089709
<code>$tableAlias</code>
97099710
<code>$tableAlias</code>

0 commit comments

Comments
 (0)