Skip to content

Commit efb6ceb

Browse files
authored
Merge pull request #11270 from greg0ire/fix-trim-bug
Treat '0' as a legitimate trim char
2 parents e4769d3 + cf408ad commit efb6ceb

File tree

3 files changed

+6
-19
lines changed

3 files changed

+6
-19
lines changed

psalm-baseline.xml

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,15 +1543,6 @@
15431543
</PossiblyInvalidPropertyAssignmentValue>
15441544
</file>
15451545
<file src="src/Query/AST/Functions/DateAddFunction.php">
1546-
<ArgumentTypeCoercion>
1547-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1548-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1549-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1550-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1551-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1552-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1553-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1554-
</ArgumentTypeCoercion>
15551546
<PossiblyInvalidPropertyAssignmentValue>
15561547
<code><![CDATA[$parser->ArithmeticPrimary()]]></code>
15571548
<code><![CDATA[$parser->ArithmeticPrimary()]]></code>
@@ -1572,15 +1563,6 @@
15721563
</PossiblyInvalidPropertyAssignmentValue>
15731564
</file>
15741565
<file src="src/Query/AST/Functions/DateSubFunction.php">
1575-
<ArgumentTypeCoercion>
1576-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1577-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1578-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1579-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1580-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1581-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1582-
<code><![CDATA[$this->intervalExpression->dispatch($sqlWalker)]]></code>
1583-
</ArgumentTypeCoercion>
15841566
<UndefinedPropertyFetch>
15851567
<code><![CDATA[$this->unit->value]]></code>
15861568
</UndefinedPropertyFetch>

src/Query/AST/Functions/TrimFunction.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public function parse(Parser $parser)
7474
$this->trimChar = $lexer->token->value;
7575
}
7676

77-
if ($this->leading || $this->trailing || $this->both || $this->trimChar) {
77+
if ($this->leading || $this->trailing || $this->both || ($this->trimChar !== false)) {
7878
$parser->match(Lexer::T_FROM);
7979
}
8080

tests/Tests/ORM/Query/LanguageRecognitionTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,11 @@ public function testFunctionalExpressionsSupportedInWherePart(): void
172172
$this->assertValidDQL("SELECT u.name FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE TRIM(u.name) = 'someone'");
173173
}
174174

175+
public function testTrimFalsyString(): void
176+
{
177+
$this->assertValidDQL("SELECT u.name FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE TRIM('0' FROM u.name) = 'someone'");
178+
}
179+
175180
public function testArithmeticExpressionsSupportedInWherePart(): void
176181
{
177182
$this->assertValidDQL('SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE ((u.id + 5000) * u.id + 3) < 10000000');

0 commit comments

Comments
 (0)