Skip to content

Commit

Permalink
feat(db): remove workaround for pqsql 9.4 and older
Browse files Browse the repository at this point in the history
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 <mail@danielkesselberg.de>
  • Loading branch information
kesselb committed Jun 2, 2024
1 parent d045482 commit 474797f
Showing 1 changed file with 0 additions and 17 deletions.
17 changes: 0 additions & 17 deletions lib/private/DB/AdapterPgSql.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ public function fixupStatement($statement) {
}

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();
Expand All @@ -39,17 +35,4 @@ public function insertIgnoreConflict(string $table, array $values) : int {
$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;
}
}

0 comments on commit 474797f

Please sign in to comment.