Class StandardResolutionStrategy
Object
gudusoft.gsqlparser.resolver2.iterative.StandardResolutionStrategy
- All Implemented Interfaces:
ResolutionStrategy
Standard resolution strategy.
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 Summary
ConstructorsConstructorDescriptionStandardResolutionStrategy(boolean aggressiveInference, int inferenceThreshold) -
Method Summary
Modifier and TypeMethodDescriptionGet a description of this strategy.getName()Get the name of this strategy.voidpreparePass(int passNumber, ResolutionStatistics previousStats) Prepare for a new pass.booleanshouldExpandStars(int passNumber, ResolutionStatistics previousStats) Determine if this strategy should expand star columns in the current pass.booleanshouldPerformInference(int passNumber, ResolutionStatistics previousStats) Determine if this strategy should perform inference in the current pass.booleanshouldPushDownColumns(int passNumber, ResolutionStatistics previousStats) Determine if this strategy should push down column requirements in the current pass.toString()
-
Constructor Details
-
StandardResolutionStrategy
public StandardResolutionStrategy() -
StandardResolutionStrategy
-
-
Method Details
-
getName
Description copied from interface:ResolutionStrategyGet the name of this strategy.- Specified by:
getNamein interfaceResolutionStrategy- Returns:
- strategy name
-
shouldPerformInference
Description copied from interface:ResolutionStrategyDetermine if this strategy should perform inference in the current pass.- Specified by:
shouldPerformInferencein interfaceResolutionStrategy- Parameters:
passNumber- the current pass numberpreviousStats- statistics from previous pass (null for first pass)- Returns:
- true if inference should be performed
-
shouldExpandStars
Description copied from interface:ResolutionStrategyDetermine if this strategy should expand star columns in the current pass.- Specified by:
shouldExpandStarsin interfaceResolutionStrategy- Parameters:
passNumber- the current pass numberpreviousStats- statistics from previous pass (null for first pass)- Returns:
- true if star expansion should be performed
-
shouldPushDownColumns
Description copied from interface:ResolutionStrategyDetermine if this strategy should push down column requirements in the current pass.- Specified by:
shouldPushDownColumnsin interfaceResolutionStrategy- Parameters:
passNumber- the current pass numberpreviousStats- statistics from previous pass (null for first pass)- Returns:
- true if push-down should be performed
-
preparePass
Description copied from interface:ResolutionStrategyPrepare for a new pass. Strategy can adjust its behavior based on previous results.- Specified by:
preparePassin interfaceResolutionStrategy- Parameters:
passNumber- the upcoming pass numberpreviousStats- statistics from previous pass (null for first pass)
-
getDescription
Description copied from interface:ResolutionStrategyGet a description of this strategy.- Specified by:
getDescriptionin interfaceResolutionStrategy- Returns:
- strategy description
-
toString
-