mirror of
https://github.com/nextcloud/server.git
synced 2026-02-16 09:19:43 -05:00
Fix possible dead locks when running the propagator caused by two requests updating the same amount rows in transactions. - Lock rows always in the same deterministic order by sorting the path_hash first - On all database outside of sqlite, also do first a SELECT FOR UPDATE to lock all the rows used in batch UPDATE calls, afterward to decrease the risk of two requests trying to lock the same rows Signed-off-by: Carl Schwan <carlschwan@kde.org>
26 lines
440 B
PHP
26 lines
440 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
namespace OCP\DB\QueryBuilder;
|
|
|
|
/**
|
|
* Conflict resolution mode for "FOR UPDATE" select queries.
|
|
*
|
|
* @since 34.0.0
|
|
*/
|
|
enum ConflictResolutionMode {
|
|
/**
|
|
* Wait for the row to be unlocked.
|
|
*/
|
|
case Ordinary;
|
|
/**
|
|
* Skip the row if it is locked.
|
|
*/
|
|
case SkipLocked;
|
|
}
|