Skip to content

Conversation

@Fottas
Copy link

@Fottas Fottas commented Dec 2, 2025

Overview
This is the first PR for the IN predicate optimization feature, introducing the foundational interface for parameter filtering.
Changes

Add ParameterFilterable interface to define parameter filtering capability
Provide getRemovedParameterIndices(RouteUnit) method to declare parameter indices that should be removed
Provide isParameterFilterable() default method to allow conditional filtering enablement

Design Rationale

Interface is placed in infra.rewrite.core module as a generic extension point for the rewrite engine
Currently designed specifically for sharding IN optimization; may potentially support other parameter filtering scenarios in the future if such needs arise
Fully backward compatible - does not affect existing token generators

Related Issue
Part of #36454 (1)

Next Steps
The next PR will integrate parameter filtering logic into RouteSQLRewriteEngine.

@Fottas Fottas changed the title [Part 1/9] Add ParameterFilterable interface (#36454) [Part 1/9] Add ParameterFilterable interface Dec 2, 2025
@Fottas Fottas changed the title [Part 1/9] Add ParameterFilterable interface [Part 1] Add ParameterFilterable interface Dec 2, 2025
Copy link
Member

@terrymanu terrymanu left a comment

Choose a reason for hiding this comment

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

Right now the changes are spread across multiple PRs, which makes it hard to assess the overall design and impact. Please consolidate the main code into a single, complete PR so we can review the design, code, and tests together. Otherwise, each fragmented PR lacks context and cannot be merged.

@terrymanu
Copy link
Member

Closed because of no response anymore.

@terrymanu terrymanu closed this Jan 25, 2026
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