From: Daniel Kesselberg Date: Sun, 2 Jun 2024 18:16:47 +0000 (+0200) Subject: feat(db): remove workaround for pqsql 9.4 and older X-Git-Tag: v30.0.0beta1~385^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F45629%2Fhead;p=nextcloud-server.git feat(db): remove workaround for pqsql 9.4 and older The workaround was required because "ON CONFLICT DO NOTHING" was added with pqsql 9.5. PostgreSQL 9.4 is eol since 2020-02-13 and thus everyone should use a version with upsert support nowadays. Signed-off-by: Daniel Kesselberg --- diff --git a/lib/private/DB/AdapterPgSql.php b/lib/private/DB/AdapterPgSql.php index 847ea3052b7..db48c81c2c5 100644 --- a/lib/private/DB/AdapterPgSql.php +++ b/lib/private/DB/AdapterPgSql.php @@ -8,7 +8,6 @@ namespace OC\DB; class AdapterPgSql extends Adapter { - protected $compatModePre9_5 = null; public function lastInsertId($table) { $result = $this->conn->executeQuery('SELECT lastval()'); @@ -25,10 +24,6 @@ class AdapterPgSql extends Adapter { } public function insertIgnoreConflict(string $table, array $values) : int { - if ($this->isPre9_5CompatMode() === true) { - return parent::insertIgnoreConflict($table, $values); - } - // "upsert" is only available since PgSQL 9.5, but the generic way // would leave error logs in the DB. $builder = $this->conn->getQueryBuilder(); @@ -39,17 +34,4 @@ class AdapterPgSql extends Adapter { $queryString = $builder->getSQL() . ' ON CONFLICT DO NOTHING'; return $this->conn->executeUpdate($queryString, $builder->getParameters(), $builder->getParameterTypes()); } - - protected function isPre9_5CompatMode(): bool { - if ($this->compatModePre9_5 !== null) { - return $this->compatModePre9_5; - } - - $result = $this->conn->executeQuery('SHOW SERVER_VERSION'); - $version = $result->fetchOne(); - $result->free(); - $this->compatModePre9_5 = version_compare($version, '9.5', '<'); - - return $this->compatModePre9_5; - } }