- MySQL: Avoid warning on selecting tables with fulltext indexes (bug #1036)
- PostgreSQL, CockroachDB: Creating partitioned tables (bug #1031)
- PostgreSQL: Move partitioned tables from table list to parent table
+- PostgreSQL: Support calling functions returning table (bug #1040)
- Designs: adminer.css with 'prefers-color-scheme: dark' don't disable dark mode
- Plugins: Method bodyClass() to add <body class>
$in = array();
$out = array();
foreach ($routine["fields"] as $i => $field) {
- if (substr($field["inout"], -3) == "OUT") {
+ if (substr($field["inout"], -3) == "OUT" && JUSH == 'sql') {
$out[$i] = "@" . idf_escape($field["field"]) . " AS " . idf_escape($field["field"]);
}
if (!$field["inout"] || substr($field["inout"], 0, 2) == "IN") {
connection()->query("SET @" . idf_escape($field["field"]) . " = $val");
}
}
- $call[] = (isset($out[$key]) ? "@" . idf_escape($field["field"]) : $val);
+ if (isset($out[$key])) {
+ $call[] = "@" . idf_escape($field["field"]);
+ } elseif (in_array($key, $in)) {
+ $call[] = $val;
+ }
}
$query = (isset($_GET["callf"]) ? "SELECT" : "CALL") . " " . table($PROCEDURE) . "(" . implode(", ", $call) . ")";