Let the querybuilder convert

This commit is contained in:
Roeland Jago Douma 2016-04-13 10:05:11 +02:00
parent 68746e1bdb
commit 7b3191705c
No known key found for this signature in database
GPG Key ID: 1E152838F164D13B
1 changed files with 2 additions and 4 deletions

View File

@ -26,6 +26,7 @@ namespace OC\Lock;
use OC\DB\QueryBuilder\Literal;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\ILogger;
use OCP\Lock\ILockingProvider;
@ -267,13 +268,10 @@ class DBLockingProvider extends AbstractLockingProvider {
foreach ($chunkedPaths as $chunk) {
$builder = $this->connection->getQueryBuilder();
$params = array_map(function ($path) use ($builder) {
return $builder->createNamedParameter($path);
}, $chunk);
$query = $builder->update('file_locks')
->set('lock', $builder->createFunction('`lock` -1'))
->where($builder->expr()->in('key', $params))
->where($builder->expr()->in('key', $builder->createNamedParameter($chunk, IQueryBuilder::PARAM_STR_ARRAY)))
->andWhere($builder->expr()->gt('lock', new Literal(0)));
$query->execute();