From fb1b76e4117fb24209f81e3b2adce3bb662d06f7 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Tue, 10 Feb 2026 19:07:12 +0100 Subject: [PATCH] PostgreSQL: Display all SQL command warnings and only once --- CHANGELOG.md | 1 + adminer/drivers/pgsql.inc.php | 8 +++++++- phpstan.neon | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49980962..f76a9a62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Select: Disable Ctrl+click inline edit without UPDATE privilege - Export: Remember unchecked objects (regression from 5.0.6) - PostgreSQL: Order NULL last +- PostgreSQL: Display all SQL command warnings and only once ## Adminer 5.4.2 (released 2026-02-08) - Avoid denial-of-service via version check (GHSA-q4f2-39gr-45jh, regression from 4.6.2) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index a7096275..5d2c76ca 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -88,7 +88,13 @@ if (isset($_GET["pgsql"])) { } function warnings() { - return h(pg_last_notice($this->link)); // second parameter is available since PHP 7.1.0 + if (PHP_VERSION_ID >= 70100) { + $return = implode("\n", pg_last_notice($this->link, 2)); // 2 - PGSQL_NOTICE_ALL + pg_last_notice($this->link, 3); // 3 - PGSQL_NOTICE_CLEAR + } else { + $return = pg_last_notice($this->link); + } + return nl_br(h($return)); } /** Copy from array into a table diff --git a/phpstan.neon b/phpstan.neon index 3fde8ffa..1b2253ae 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -22,6 +22,7 @@ parameters: - "~expects bool~" # truthy values - "~fread expects int<1, max>, 100000~" # 1e6 - "~'strlen' given~" # used as a bool callback + - "~between int<70100~" # PHP_VERSION_ID check - message: "~ type specified~" # duplicate functions and methods