Skip to content

Commit 5b8d2e7

Browse files
committed
Remove wrong asserts in DATE_ADD and DATE_SUB query AST function handlers
1 parent 9acc70d commit 5b8d2e7

File tree

3 files changed

+33
-12
lines changed

3 files changed

+33
-12
lines changed

src/Query/AST/Functions/DateAddFunction.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,11 @@ public function getSql(SqlWalker $sqlWalker): string
6464
}
6565

6666
/**
67-
* @return numeric-string
68-
*
6967
* @throws ASTException
7068
*/
7169
private function dispatchIntervalExpression(SqlWalker $sqlWalker): string
7270
{
73-
$sql = $this->intervalExpression->dispatch($sqlWalker);
74-
assert(is_numeric($sql));
75-
76-
return $sql;
71+
return $this->intervalExpression->dispatch($sqlWalker);
7772
}
7873

7974
public function parse(Parser $parser): void

src/Query/AST/Functions/DateSubFunction.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,10 @@ public function getSql(SqlWalker $sqlWalker): string
5757
}
5858

5959
/**
60-
* @return numeric-string
61-
*
6260
* @throws ASTException
6361
*/
6462
private function dispatchIntervalExpression(SqlWalker $sqlWalker): string
6563
{
66-
$sql = $this->intervalExpression->dispatch($sqlWalker);
67-
assert(is_numeric($sql));
68-
69-
return $sql;
64+
return $this->intervalExpression->dispatch($sqlWalker);
7065
}
7166
}

tests/Tests/ORM/Functional/QueryDqlFunctionTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use DateTimeImmutable;
88
use Doctrine\DBAL\Platforms\SQLitePlatform;
99
use Doctrine\ORM\AbstractQuery;
10+
use Doctrine\Tests\Models\Company\CompanyEmployee;
1011
use Doctrine\Tests\Models\Company\CompanyManager;
1112
use Doctrine\Tests\OrmFunctionalTestCase;
1213
use PHPUnit\Framework\Attributes\DataProvider;
@@ -487,4 +488,34 @@ protected function generateFixture(): void
487488
$this->_em->flush();
488489
$this->_em->clear();
489490
}
491+
492+
#[Group('GH-11240')]
493+
public function testDateAddWithColumnInterval(): void
494+
{
495+
$query = sprintf(
496+
'SELECT DATE_ADD(CURRENT_TIMESTAMP(), m.salary, \'day\') AS add FROM %s m',
497+
CompanyEmployee::class,
498+
);
499+
500+
$result = $this->_em->createQuery($query)
501+
->setMaxResults(1)
502+
->getSingleResult(AbstractQuery::HYDRATE_ARRAY);
503+
504+
self::assertArrayHasKey('add', $result);
505+
}
506+
507+
#[Group('GH-11240')]
508+
public function testDateSubWithColumnInterval(): void
509+
{
510+
$query = sprintf(
511+
'SELECT DATE_SUB(CURRENT_TIMESTAMP(), m.salary, \'day\') AS add FROM %s m',
512+
CompanyEmployee::class,
513+
);
514+
515+
$result = $this->_em->createQuery($query)
516+
->setMaxResults(1)
517+
->getSingleResult(AbstractQuery::HYDRATE_ARRAY);
518+
519+
self::assertArrayHasKey('add', $result);
520+
}
490521
}

0 commit comments

Comments
 (0)