Skip to content

Fix Incoherency in Expression Selectors  #5406

@nishantmonu51

Description

@nishantmonu51

Review comment - #5278 (comment)
There is an incoherency. This is a selector of ExprEval, not of ExprEval.value(). This class is used only in ExpressionSelectors.makeExprEvalSelector(). This incoherency already causes problems in AggregatorUtil: ExpressionSelectors.makeExprEvalSelector() is used there only to call getObject(), not taking advantage of ConstantColumnValueSelector optimization.

To make things more coherent, either

ExpressionSelectors.makeExprEvalSelector() should return ColumnValueSelector, not of ExprEval (with according changes)
Or Supplier should be returned from this method, enforcing all clients to go via get().asDouble() path (and ConstantColumnValueSelector should adapt accordingly).

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions