Skip to content

[TMP] IBX-12043: Upgraded to Doctrine DBAL 4 - #138

Open
ViniTou wants to merge 2 commits into
6.0from
dbal-4-upgrade
Open

[TMP] IBX-12043: Upgraded to Doctrine DBAL 4#138
ViniTou wants to merge 2 commits into
6.0from
dbal-4-upgrade

Conversation

@ViniTou

@ViniTou ViniTou commented Aug 20, 2026

Copy link
Copy Markdown
Contributor
🎫 Issue IBX-12043

Related PRs:

Important

composer.json carries [TMP] pointers for ibexa/core and ibexa/doctrine-schema (dev-dbal-4-upgrade as 6.0.x-dev). Both must be reverted to ~6.0.x-dev once those PRs merge, before this PR is mergeable.

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

Points ibexa/core and ibexa/doctrine-schema at their dbal-4-upgrade branches so this one can resolve before they are merged. Revert this commit once they are.
@sonarqubecloud

Copy link
Copy Markdown

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.

2 participants