Skip to content

Commit 02f5274

Browse files
committed
Merge branch 'master' into 9.x
2 parents 3ea8ad9 + 17ef96e commit 02f5274

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
}],
1414
"require": {
1515
"php": "^8.0.2",
16-
"arvenil/ninja-mutex": "^0.6",
16+
"arvenil/ninja-mutex": "dev-master#82cbb2c",
1717
"illuminate/console": "^9.0",
1818
"illuminate/support": "^9.0",
1919
"ramsey/collection": "^1.2"

src/Mutex.php

+8-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use NinjaMutex\Lock\FlockLock;
99
use NinjaMutex\Lock\LockAbstract;
1010
use NinjaMutex\Lock\MemcachedLock;
11-
use NinjaMutex\Lock\MySqlLock;
11+
use NinjaMutex\Lock\MySQLPDOLock;
1212
use NinjaMutex\Lock\PhpRedisLock;
1313
use NinjaMutex\Lock\PredisRedisLock;
1414
use NinjaMutex\Mutex as NinjaMutex;
@@ -38,7 +38,7 @@ class Mutex
3838
*/
3939
public function __construct(Command $command)
4040
{
41-
/** @var WithoutOverlapping $command */
41+
/** @var Command|WithoutOverlapping $command */
4242
$this->command = $command;
4343

4444
$mutexName = $command->getMutexName();
@@ -58,11 +58,14 @@ public function getNinjaMutexLock(): LockAbstract
5858
$strategy = $this->command->getMutexStrategy();
5959
switch ($strategy) {
6060
case 'mysql':
61-
return new MySqlLock(
61+
return new MySQLPDOLock(
62+
'mysql:' . implode(';', [
63+
'host=' . config('database.connections.mysql.host'),
64+
'port=' . config('database.connections.mysql.port', 3306),
65+
]),
6266
config('database.connections.mysql.username'),
6367
config('database.connections.mysql.password'),
64-
config('database.connections.mysql.host'),
65-
config('database.connections.mysql.port', 3306)
68+
config('database.connections.mysql.options'),
6669
);
6770

6871
case 'redis':

tests/MutexTest.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use Mockery\Mock;
1111
use NinjaMutex\Lock\FlockLock;
1212
use NinjaMutex\Lock\MemcachedLock;
13-
use NinjaMutex\Lock\MySqlLock;
13+
use NinjaMutex\Lock\MySQLPDOLock;
1414
use NinjaMutex\Lock\PhpRedisLock;
1515
use NinjaMutex\Lock\PredisRedisLock;
1616
use Predis\Client as PredisClient;
@@ -65,11 +65,14 @@ public function it_supports_mysql_strategy()
6565
$this->command->expects('getMutexStrategy')->andReturn('mysql');
6666

6767
$mutex = new Mutex($this->command);
68-
$expectedLock = new MySqlLock(
68+
$expectedLock = new MySqlPdoLock(
69+
'mysql:' . implode(';', [
70+
'host=' . config('database.connections.mysql.host'),
71+
'port=' . config('database.connections.mysql.port', 3306),
72+
]),
6973
config('database.connections.mysql.username'),
7074
config('database.connections.mysql.password'),
71-
config('database.connections.mysql.host'),
72-
config('database.connections.mysql.port', 3306)
75+
config('database.connections.mysql.options'),
7376
);
7477
$this->assertEquals($expectedLock, $mutex->getNinjaMutexLock());
7578
}

0 commit comments

Comments
 (0)