[FEATURE] Ordered UIDs filter — return collections in externally reso…#149
Open
klamparski wants to merge 9 commits into
Conversation
…lved order (ORDER BY FIELD)
- dedicated MissingCollectionOperationException instead of a generic RuntimeException in CommonRepository::findFiltered() - FilterInterface v6 note reworded so it does not carry an open TODO tag
Automatic analysis applies Oracle PL/SQL rules to TYPO3 ext_tables.sql (MySQL dialect), producing false positives like "Use VARCHAR2 instead of VARCHAR". Exclusion via .sonarcloud.properties - the file automatic analysis reads; wildcards are unsupported there, hence the explicit path.
…tection TCA fixture files are TYPO3 boilerplate that is near-identical for every table by design (91%+ mutual duplication between the Book and Product TCA tripped the <=3% duplications quality gate on new code). CPD exclusion keeps the gate measuring production code only.
SonarCloud failed the PR quality gate: 4.85% duplicated lines on new code (required <= 3%), coming from the fixture TCA files - TYPO3 TCA is boilerplate that is near-identical for every table by design (Book vs Product TCA showed 91%+ mutual duplication). The cpd exclusion added in .sonarcloud.properties was not honored by automatic analysis, so the duplication is now removed at the source instead: a shared TcaFixtureBase.php builds the common skeleton (ctrl, enablecolumns, types) and each of the four table files declares only what actually differs - table title, columns, showitem and label field.
PHPUnit 13 (installed on composer highest with PHP 8.4) removed with() on test stubs configured via method() without expects() - the same incompatibility fixed for the other unit tests in 26f4f50. Stub argument mapping goes through willReturnMap() instead, matching that commit's pattern. This is what failed PHPStan in the test (13, 8.4, highest) and (14, x, x) matrix jobs.
SonarCloud's reliability gate flagged the require of the shared TCA base
in all four table files ("replace require with require_once") - but
require_once would actually break: on the second inclusion it returns
true instead of the builder closure. Moving the skeleton into the
autoloadable TcaFixtureBuilder class satisfies the rule without that
trap and drops the extra file-inclusion indirection.
Also excludes the binary fixtures (Postman JPEG, impexp blob) from
SonarCloud indexing - they are the source of the analysis warning about
file encoding, which predates this PR.
|
klamparski
marked this pull request as ready for review
July 20, 2026 21:14
…urn-collections-in-externally-resolved-order-order-by-field
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



…lved order (ORDER BY FIELD)