diff --git a/libraries/classes/Database/Routines.php b/libraries/classes/Database/Routines.php
index 729bcc1492..2f471d73cd 100644
--- a/libraries/classes/Database/Routines.php
+++ b/libraries/classes/Database/Routines.php
@@ -196,26 +196,18 @@ class Routines
if (! count($errors)) {
// Execute the created query
if (! empty($_POST['editor_process_edit'])) {
- $isProcOrFunc = in_array(
- $_POST['item_original_type'],
- [
- 'PROCEDURE',
- 'FUNCTION',
- ]
- );
-
- if (! $isProcOrFunc) {
+ if (! in_array($_POST['item_original_type'], ['PROCEDURE', 'FUNCTION'], true)) {
$errors[] = sprintf(
__('Invalid routine type: "%s"'),
htmlspecialchars($_POST['item_original_type'])
);
} else {
// Backup the old routine, in case something goes wrong
- $create_routine = $this->dbi->getDefinition(
- $db,
- $_POST['item_original_type'],
- $_POST['item_original_name']
- );
+ if ($_POST['item_original_type'] === 'FUNCTION') {
+ $create_routine = $this->dbi->getDefinition($db, 'FUNCTION', $_POST['item_original_name']);
+ } else {
+ $create_routine = $this->dbi->getDefinition($db, 'PROCEDURE', $_POST['item_original_name']);
+ }
$privilegesBackup = $this->backupPrivileges();
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index ae789403af..0c12ad7c34 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -5195,7 +5195,7 @@
$_POST['item_name']
$_POST['item_original_name']
$_POST['item_original_name']
- $_POST['item_original_type']
+ $_POST['item_original_name']
$_POST['item_original_type']
$_POST['item_returnopts_num']
$_POST['item_returnopts_text']
@@ -5389,12 +5389,11 @@
$value
$value
-
+
$_POST['funcs'][$routine['item_param_name'][$i]]
$_POST['item_name']
$_POST['item_original_name']
$_POST['item_original_type']
- $_POST['item_original_type']
$_POST['item_returnlength']
$_POST['item_type']
$itemDefinition