Fixes errors when filtering by content fields in GraphQL #17378
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.
Fixes #17261 and #17323
This PR addresses issues #17261 and #17323. While this solution resolves the immediate problems, it is acknowledged that a more comprehensive redesign of the GraphQL filtering system is necessary. The current method of mapping GraphQL fields to SQL indexes, which involves creating table and column aliases, has limitations, particularly with ambiguous column names.
The proposed solution in this PR is a temporary fix. A thorough redesign should be considered for the following interfaces to address these limitations and streamline responsibilities:
IFilterInputObjectGraphType
IIndexPropertyProvider
IIndexAliasProvider
Additionally, the
IPredicateQuery
interface and its implementation will need to be re-evaluated and redesigned.For now, this PR provides a solution to the specified issues without introducing significant changes or risking other functionalities.