Skip to content

Commit 9a68fbf

Browse files
committed
Remove deprecated methods from ParserResult
1 parent cdc52b2 commit 9a68fbf

File tree

4 files changed

+11
-62
lines changed

4 files changed

+11
-62
lines changed

src/Query/ParserResult.php

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,7 @@ class ParserResult
2222
/**
2323
* The SQL executor used for executing the SQL.
2424
*/
25-
private AbstractSqlExecutor|null $sqlExecutor = null;
26-
27-
/**
28-
* The SQL executor used for executing the SQL.
29-
*/
30-
private SqlFinalizer|null $sqlFinalizer = null;
25+
private ?SqlFinalizer $sqlFinalizer = null;
3126

3227
/**
3328
* The ResultSetMapping that describes how to map the SQL result set.
@@ -68,49 +63,18 @@ public function setResultSetMapping(ResultSetMapping $rsm): void
6863
$this->resultSetMapping = $rsm;
6964
}
7065

71-
/**
72-
* Sets the SQL executor that should be used for this ParserResult.
73-
*
74-
* @deprecated
75-
*/
76-
public function setSqlExecutor(AbstractSqlExecutor $executor): void
77-
{
78-
$this->sqlExecutor = $executor;
79-
}
80-
81-
/**
82-
* Gets the SQL executor used by this ParserResult.
83-
*
84-
* @deprecated
85-
*/
86-
public function getSqlExecutor(): AbstractSqlExecutor
87-
{
88-
if ($this->sqlExecutor === null) {
89-
throw new LogicException(sprintf(
90-
'Executor not set yet. Call %s::setSqlExecutor() first.',
91-
self::class,
92-
));
93-
}
94-
95-
return $this->sqlExecutor;
96-
}
97-
9866
public function setSqlFinalizer(SqlFinalizer $finalizer): void
9967
{
10068
$this->sqlFinalizer = $finalizer;
10169
}
10270

10371
public function prepareSqlExecutor(Query $query): AbstractSqlExecutor
10472
{
105-
if ($this->sqlFinalizer !== null) {
106-
return $this->sqlFinalizer->createExecutor($query);
107-
}
108-
109-
if ($this->sqlExecutor !== null) {
110-
return $this->sqlExecutor;
73+
if ($this->sqlFinalizer === null) {
74+
throw new LogicException('No SqlFinalizer has been set; this ParserResult is incomplete.');
11175
}
11276

113-
throw new LogicException('This ParserResult lacks both the SqlFinalizer as well as the (legacy) SqlExecutor');
77+
return $this->sqlFinalizer->createExecutor($query);
11478
}
11579

11680
/**

tests/Tests/ORM/Functional/ParserResultSerializationTest.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ public function testUnserializeSingleSelectResult(string $serialized): void
7777
$this->assertInstanceOf(ParserResult::class, $unserialized);
7878
$this->assertInstanceOf(ResultSetMapping::class, $unserialized->getResultSetMapping());
7979
$this->assertEquals(['name' => [0]], $unserialized->getParameterMappings());
80-
$this->assertInstanceOf(SingleSelectExecutor::class, $unserialized->getSqlExecutor());
81-
$this->assertIsString($unserialized->getSqlExecutor()->getSqlStatements());
8280
}
8381

8482
/** @return Generator<string, array{string}> */

tests/Tests/ORM/Functional/QueryCacheTest.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Doctrine\ORM\Query;
88
use Doctrine\ORM\Query\Exec\AbstractSqlExecutor;
9+
use Doctrine\ORM\Query\Exec\SqlFinalizer;
910
use Doctrine\ORM\Query\ParserResult;
1011
use Doctrine\Tests\OrmFunctionalTestCase;
1112
use PHPUnit\Framework\Attributes\Depends;
@@ -122,15 +123,18 @@ public function testQueryCacheHitDoesNotSaveParserResult(): void
122123

123124
$query = $this->_em->createQuery('select ux from Doctrine\Tests\Models\CMS\CmsUser ux');
124125

125-
$sqlExecMock = $this->getMockBuilder(AbstractSqlExecutor::class)
126+
$sqlExecutorMock = $this->getMockBuilder(AbstractSqlExecutor::class)
126127
->getMockForAbstractClass();
127128

128-
$sqlExecMock->expects(self::once())
129+
$sqlExecutorMock->expects(self::once())
129130
->method('execute')
130131
->willReturn(10);
131132

133+
$sqlFinalizerMock = $this->createMock(SqlFinalizer::class);
134+
$sqlFinalizerMock->method('createExecutor')->with($query)->willReturn($sqlExecutorMock);
135+
132136
$parserResultMock = new ParserResult();
133-
$parserResultMock->setSqlExecutor($sqlExecMock);
137+
$parserResultMock->setSqlFinalizer($sqlFinalizerMock);
134138

135139
$cache = $this->createMock(CacheItemPoolInterface::class);
136140

tests/Tests/ORM/Query/ParserResultTest.php

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,6 @@ public function testGetRsm(): void
2525
self::assertInstanceOf(ResultSetMapping::class, $this->parserResult->getResultSetMapping());
2626
}
2727

28-
public function testItThrowsWhenAttemptingToAccessTheExecutorBeforeItIsSet(): void
29-
{
30-
$this->expectException(LogicException::class);
31-
$this->expectExceptionMessage(
32-
'Executor not set yet. Call Doctrine\ORM\Query\ParserResult::setSqlExecutor() first.',
33-
);
34-
35-
$this->parserResult->getSqlExecutor();
36-
}
37-
38-
public function testSetGetSqlExecutor(): void
39-
{
40-
$executor = $this->getMockForAbstractClass(AbstractSqlExecutor::class);
41-
$this->parserResult->setSqlExecutor($executor);
42-
self::assertSame($executor, $this->parserResult->getSqlExecutor());
43-
}
44-
4528
public function testGetSqlParameterPosition(): void
4629
{
4730
$this->parserResult->addParameterMapping(1, 1);

0 commit comments

Comments
 (0)