From 6d151f953884f291e67f498c6889c4c610e27877 Mon Sep 17 00:00:00 2001 From: Sergei Morozov Date: Thu, 12 Nov 2020 18:08:58 -0800 Subject: [PATCH] Throw exception on invalid LockMode --- src/Exception/InvalidLockMode.php | 24 ++++++++++++++++++++ src/Platforms/AbstractPlatform.php | 22 ++++++++++++------ src/Platforms/SQLServer2012Platform.php | 19 ++++++++-------- tests/Platforms/AbstractPlatformTestCase.php | 7 ++++++ tests/Platforms/SQLServerPlatformTest.php | 3 +-- 5 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 src/Exception/InvalidLockMode.php diff --git a/src/Exception/InvalidLockMode.php b/src/Exception/InvalidLockMode.php new file mode 100644 index 00000000000..9a4d6c77bc9 --- /dev/null +++ b/src/Exception/InvalidLockMode.php @@ -0,0 +1,24 @@ + 12, 'fixed' => true]], ]; } + + public function testInvalidLockMode(): void + { + $this->expectException(InvalidLockMode::class); + $this->platform->appendLockHint('TABLE', 128); + } } interface GetCreateTableSqlDispatchEventListener diff --git a/tests/Platforms/SQLServerPlatformTest.php b/tests/Platforms/SQLServerPlatformTest.php index 303a2804afd..7e6925ebf1b 100644 --- a/tests/Platforms/SQLServerPlatformTest.php +++ b/tests/Platforms/SQLServerPlatformTest.php @@ -16,7 +16,7 @@ public function createPlatform(): AbstractPlatform /** * @dataProvider getLockHints */ - public function testAppendsLockHint(?int $lockMode, string $lockHint): void + public function testAppendsLockHint(int $lockMode, string $lockHint): void { $fromClause = 'FROM users'; $expectedResult = $fromClause . $lockHint; @@ -30,7 +30,6 @@ public function testAppendsLockHint(?int $lockMode, string $lockHint): void public static function getLockHints(): iterable { return [ - [null, ''], [LockMode::NONE, ' WITH (NOLOCK)'], [LockMode::OPTIMISTIC, ''], [LockMode::PESSIMISTIC_READ, ' WITH (HOLDLOCK, ROWLOCK)'],