Skip to content

Conversation

@DSsatwareAG
Copy link
Contributor

@DSsatwareAG DSsatwareAG commented Jul 24, 2025

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.

@carsonbot carsonbot added this to the 7.4 milestone Jul 24, 2025
@DSsatwareAG DSsatwareAG changed the base branch from 7.4 to 6.4 July 24, 2025 18:02
@DSsatwareAG DSsatwareAG changed the title Update Connection.php Firebird Databse - incompatibility with expected lowercase columns Jul 24, 2025
@OskarStark OskarStark changed the title Firebird Databse - incompatibility with expected lowercase columns Firebird Database - incompatibility with expected lowercase columns Jul 24, 2025
@carsonbot carsonbot changed the title Firebird Database - incompatibility with expected lowercase columns [Messenger] Firebird Database - incompatibility with expected lowercase columns Jul 29, 2025
@derrabus
Copy link
Member

Are you using the connection for the messenger exclusively? If so, you could use DBAL's portability middleware to control the casing of result columns.

@stof
Copy link
Member

stof commented Aug 25, 2025

Because the FirebirdPlatform is not part of the doctrine/dbal package, I was unable to use instanceof for platform detection.

Why would you be unable to use instanceof ?

@DSsatwareAG
Copy link
Contributor Author

Because the FirebirdPlatform is not part of the doctrine/dbal package, I was unable to use instanceof for platform detection.

Why would you be unable to use instanceof ?

You’re right — I can use instanceof. My initial concern was a potential fatal if the class wasn’t available. I will updated the PR.

@symfony symfony deleted a comment from carsonbot Sep 2, 2025
@symfony symfony deleted a comment from carsonbot Sep 2, 2025
Copy link
Member

@nicolas-grekas nicolas-grekas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@derrabus wrote this:

Are you using the connection for the messenger exclusively? If so, you could use DBAL's portability middleware to control the casing of result columns.

WDYT of this proposal? Applicable?

@DSsatwareAG
Copy link
Contributor Author

@derrabus wrote this:

Are you using the connection for the messenger exclusively? If so, you could use DBAL's portability middleware to control the casing of result columns.

WDYT of this proposal? Applicable?

Unfortunately not applicable here — the Doctrine connection is shared, not Messenger‑exclusive.

@fabpot fabpot modified the milestones: 7.4, 6.4 Sep 2, 2025
@fabpot fabpot force-pushed the doctrine-messenger-firebird-uppercase-columns branch from b2bdbc8 to 6223362 Compare September 2, 2025 08:31
@fabpot
Copy link
Member

fabpot commented Sep 2, 2025

Thank you @DSsatwareAG.

@fabpot fabpot merged commit 1dd5bd1 into symfony:6.4 Sep 2, 2025
8 of 11 checks passed
@DSsatwareAG DSsatwareAG deleted the doctrine-messenger-firebird-uppercase-columns branch September 3, 2025 07:15
This was referenced Sep 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Doctrine Messenger: Firebird database returns column names in uppercase – incompatibility with expected lowercase columns

6 participants