Skip to content

IBX-12043: Upgraded to Doctrine DBAL 4 - #138

Merged
ViniTou merged 1 commit into
6.0from
dbal-4-upgrade
Sep 3, 2026
Merged

ViniTou merged 1 commit into
6.0from
dbal-4-upgrade

Conversation

@ViniTou

@ViniTou ViniTou commented Aug 20, 2026

Copy link
Copy Markdown
Contributor
🎫 Issue IBX-12043

Related PRs:

Description:

ibexa/core pins doctrine/dbal, so DBAL 4 arrives here whether or not this package was ported. One call site is affected: invitationExistsForEmail() built SELECT 1 by passing the integer 1 to select(), which DBAL 4 types as string ...$expressions. Every invitation-existence check would be a TypeError.

This was found in phpstan-baseline.neon rather than in the source, and the entry states the defect outright:

message: '#^Parameter \#1 \$select of method Doctrine\DBAL\Query\QueryBuilder\:\:select\(\) expects array\<string\>\|string\|null, int given\.$#'
path: src/lib/Invitation/Persistence/DoctrineGateway.php

Under DBAL 3 that was a type-hint violation that happened to work; under DBAL 4 it is a hard failure. The entry is removed rather than regenerated.

Nothing else here needs porting. lastInsertId() is used once, on ibexa_user_invitations, which is SERIAL/auto-increment, so DBAL 4's NoIdentityValue does not apply.

For QA:

Inviting a user, and inviting an address that has already been invited — the second is the path through the changed query.

Documentation:

N/A

@ViniTou ViniTou changed the title [TMP] IBX-12043: Upgraded to Doctrine DBAL 4 IBX-12043: Upgraded to Doctrine DBAL 4 Sep 3, 2026
@sonarqubecloud

sonarqubecloud Bot commented Sep 3, 2026

Copy link
Copy Markdown

@ViniTou
ViniTou merged commit 528e3db into 6.0 Sep 3, 2026
16 of 22 checks passed
@ViniTou
ViniTou deleted the dbal-4-upgrade branch September 3, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants