public class StandardResolutionStrategy extends Object implements ResolutionStrategy
This is the default strategy that works well for most queries.
Strategy behavior: - Pass 1: Basic resolution without inference - Pass 2+: Enable inference and star expansion - Push-down: Enabled from pass 2 onward - Adaptive: Adjusts based on progress
This strategy balances: - Quick results (first pass is fast) - Completeness (later passes handle complex cases) - Efficiency (doesn't over-iterate)
| Constructor and Description |
|---|
StandardResolutionStrategy() |
StandardResolutionStrategy(boolean aggressiveInference,
int inferenceThreshold) |
| Modifier and Type | Method and Description |
|---|---|
String |
getDescription()
Get a description of this strategy.
|
String |
getName()
Get the name of this strategy.
|
void |
preparePass(int passNumber,
ResolutionStatistics previousStats)
Prepare for a new pass.
|
boolean |
shouldExpandStars(int passNumber,
ResolutionStatistics previousStats)
Determine if this strategy should expand star columns in the current pass.
|
boolean |
shouldPerformInference(int passNumber,
ResolutionStatistics previousStats)
Determine if this strategy should perform inference in the current pass.
|
boolean |
shouldPushDownColumns(int passNumber,
ResolutionStatistics previousStats)
Determine if this strategy should push down column requirements in the current pass.
|
String |
toString() |
public StandardResolutionStrategy()
public StandardResolutionStrategy(boolean aggressiveInference, int inferenceThreshold)
public String getName()
ResolutionStrategygetName in interface ResolutionStrategypublic boolean shouldPerformInference(int passNumber, ResolutionStatistics previousStats)
ResolutionStrategyshouldPerformInference in interface ResolutionStrategypassNumber - the current pass numberpreviousStats - statistics from previous pass (null for first pass)public boolean shouldExpandStars(int passNumber, ResolutionStatistics previousStats)
ResolutionStrategyshouldExpandStars in interface ResolutionStrategypassNumber - the current pass numberpreviousStats - statistics from previous pass (null for first pass)public boolean shouldPushDownColumns(int passNumber, ResolutionStatistics previousStats)
ResolutionStrategyshouldPushDownColumns in interface ResolutionStrategypassNumber - the current pass numberpreviousStats - statistics from previous pass (null for first pass)public void preparePass(int passNumber, ResolutionStatistics previousStats)
ResolutionStrategypreparePass in interface ResolutionStrategypassNumber - the upcoming pass numberpreviousStats - statistics from previous pass (null for first pass)public String getDescription()
ResolutionStrategygetDescription in interface ResolutionStrategy