Skip to content

Commit 1dd5bd1

Browse files
committed
bug #61232 [Messenger] Firebird Database - incompatibility with expected lowercase columns (DSsatwareAG)
This PR was squashed before being merged into the 6.4 branch. Discussion ---------- [Messenger] Firebird Database - incompatibility with expected lowercase columns Firebird Database - incompatibility with expected lowercase columns | Q | A | ------------- | --- | Branch? | 6.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Issues | Fix #61171 | License | MIT Fix ensures, for Firebird databases, the column names are consistently converted to lowercase before being processed by Doctrine Messenger. This resolves the incompatibility by providing Messenger with the expected lowercase column names, regardless of how Firebird returns them. Because the FirebirdPlatform is not part of the doctrine/dbal package, I was unable to use instanceof for platform detection. Instead, I implemented a string comparison to check for Firebird as the database platform. Commits ------- 6223362 [Messenger] Firebird Database - incompatibility with expected lowercase columns
2 parents d5e2a68 + 6223362 commit 1dd5bd1

File tree

1 file changed

+4
-1
lines changed
  • src/Symfony/Component/Messenger/Bridge/Doctrine/Transport

1 file changed

+4
-1
lines changed

src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
use Doctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer;
3434
use Doctrine\DBAL\Schema\Table;
3535
use Doctrine\DBAL\Types\Types;
36+
use Satag\DoctrineFirebirdDriver\Platforms\FirebirdPlatform;
3637
use Symfony\Component\Messenger\Exception\InvalidArgumentException;
3738
use Symfony\Component\Messenger\Exception\TransportException;
3839
use Symfony\Contracts\Service\ResetInterface;
@@ -405,7 +406,9 @@ private function createQueryBuilder(string $alias = 'm'): QueryBuilder
405406

406407
$alias .= '.';
407408

408-
if (!$this->driverConnection->getDatabasePlatform() instanceof OraclePlatform) {
409+
if (!$this->driverConnection->getDatabasePlatform() instanceof FirebirdPlatform
410+
&& !$this->driverConnection->getDatabasePlatform() instanceof OraclePlatform
411+
) {
409412
return $queryBuilder->select($alias.'*');
410413
}
411414

0 commit comments

Comments
 (0)