Skip to content

Commit 43ac0ce

Browse files
committed
Rewrite locker API
1 parent 8f479db commit 43ac0ce

File tree

2 files changed

+0
-36
lines changed

2 files changed

+0
-36
lines changed

src/Locker/PostgresAdvisoryLocker.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,8 @@ public function acquireSessionLevelLock(
6363
public function releaseSessionLevelLock(
6464
PDO $dbConnection,
6565
PostgresLockId $postgresLockId,
66-
PostgresAdvisoryLockLevelEnum $level = PostgresAdvisoryLockLevelEnum::Session,
6766
PostgresLockAccessModeEnum $accessMode = PostgresLockAccessModeEnum::Exclusive,
6867
): bool {
69-
if ($level === PostgresAdvisoryLockLevelEnum::Transaction) {
70-
throw new \InvalidArgumentException('Transaction-level advisory lock cannot be released');
71-
}
72-
7368
$sql = match ($accessMode) {
7469
PostgresLockAccessModeEnum::Exclusive => 'SELECT PG_ADVISORY_UNLOCK(:class_id, :object_id);',
7570
PostgresLockAccessModeEnum::Share => 'SELECT PG_ADVISORY_UNLOCK_SHARED(:class_id, :object_id);',

test/Integration/Locker/PostgresAdvisoryLockerTest.php

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
namespace Cog\Test\DbLocker\Integration\Locker;
1515

1616
use Cog\DbLocker\Locker\PostgresAdvisoryLocker;
17-
use Cog\DbLocker\Locker\PostgresAdvisoryLockLevelEnum;
1817
use Cog\DbLocker\Locker\PostgresLockAccessModeEnum;
1918
use Cog\DbLocker\LockId\PostgresLockId;
2019
use Cog\Test\DbLocker\Integration\AbstractIntegrationTestCase;
@@ -567,36 +566,6 @@ public function testItCannotReleaseAllLocksAcquiredWithinTransaction(): void
567566
$this->assertPgAdvisoryLockExistsInConnection($dbConnection, $postgresLockId2);
568567
}
569568

570-
public function testItCannotReleaseLockWithTransactionScope(): void
571-
{
572-
$locker = $this->initLocker();
573-
$dbConnection = $this->initPostgresPdoConnection();
574-
$postgresLockId1 = PostgresLockId::fromKeyValue('test');
575-
$postgresLockId2 = PostgresLockId::fromKeyValue('test2');
576-
$locker->acquireSessionLevelLock(
577-
$dbConnection,
578-
$postgresLockId1,
579-
);
580-
$dbConnection->beginTransaction();
581-
$locker->acquireTransactionLevelLock(
582-
$dbConnection,
583-
$postgresLockId2,
584-
);
585-
586-
try {
587-
$locker->releaseSessionLevelLock(
588-
$dbConnection,
589-
$postgresLockId2,
590-
PostgresAdvisoryLockLevelEnum::Transaction,
591-
);
592-
} catch (\InvalidArgumentException $exception) {
593-
$this->assertSame(
594-
'Transaction-level advisory lock cannot be released',
595-
$exception->getMessage(),
596-
);
597-
}
598-
}
599-
600569
private function initLocker(): PostgresAdvisoryLocker
601570
{
602571
return new PostgresAdvisoryLocker();

0 commit comments

Comments
 (0)