Add PostgreSQL specific implementation for includeIgnoreConflict.

Signed-off-by: Ole Ostergaard <ole.c.ostergaard@gmail.com>
pull/13721/head
Ole Ostergaard 7 years ago committed by Ole Ostergaard
parent a48ea8cffa
commit c9b6487393
  1. 12
      lib/private/DB/AdapterPgSql.php

@ -35,4 +35,16 @@ class AdapterPgSql extends Adapter {
$statement = str_ireplace( 'UNIX_TIMESTAMP()', self::UNIX_TIMESTAMP_REPLACEMENT, $statement );
return $statement;
}
public function insertIgnoreConflict($table, $input) : int {
$builder = $this->conn->getQueryBuilder();
$builder->insert($table)
->values($input);
foreach($input as $key => $value) {
$builder->setValue($key, $builder->createNamedParameter($value));
}
$queryString = $builder->getSQL() . ' ON CONFLICT DO NOTHING';
$inserts = array_values($input);
return $this->conn->executeUpdate($queryString, $inserts);
}
}

Loading…
Cancel
Save