From 3927dea8a08927d7d1dd4254bee6c6d66994a202 Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Mon, 19 Aug 2024 15:09:59 +0200 Subject: [PATCH] postgresql 16 release (#295) --- src/Pgsql/PgsqlDriver.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Pgsql/PgsqlDriver.php b/src/Pgsql/PgsqlDriver.php index dcd27ab4..86ee0872 100644 --- a/src/Pgsql/PgsqlDriver.php +++ b/src/Pgsql/PgsqlDriver.php @@ -111,7 +111,13 @@ public function connect() */ public function getCollation() { - $this->setQuery('SHOW LC_COLLATE'); + // https://www.postgresql.org/docs/current/release-16.html + if (version_compare($this->getVersion(), '16.0', '>=')) { + $this->setQuery('SELECT datcollate AS lc_collate FROM pg_database WHERE datname = current_database()'); + } else { + $this->setQuery('SHOW LC_COLLATE'); + } + $array = $this->loadAssocList(); return $array[0]['lc_collate']; @@ -127,7 +133,13 @@ public function getCollation() */ public function getConnectionCollation() { - $this->setQuery('SHOW LC_COLLATE'); + // https://www.postgresql.org/docs/current/release-16.html + if (version_compare($this->getVersion(), '16.0', '>=')) { + $this->setQuery('SELECT datcollate AS lc_collate FROM pg_database WHERE datname = current_database()'); + } else { + $this->setQuery('SHOW LC_COLLATE'); + } + $array = $this->loadAssocList(); return $array[0]['lc_collate'];