Uses of Class
org.apache.druid.math.expr.Expr.BindingAnalysis
Packages that use Expr.BindingAnalysis
-
Uses of Expr.BindingAnalysis in org.apache.druid.math.expr
Fields in org.apache.druid.math.expr declared as Expr.BindingAnalysisMethods in org.apache.druid.math.expr that return Expr.BindingAnalysisModifier and TypeMethodDescriptionstatic Expr.BindingAnalysisExprs.analyzeBindings(List<Expr> args) Return aExpr.BindingAnalysisthat represents an analysis of all provided args.Expr.analyzeInputs()ExprMacroTable.BaseMacroFunctionExpr.analyzeInputs()LambdaExpr.analyzeInputs()static Expr.BindingAnalysisExpr.BindingAnalysis.collect(Collection<Expr.BindingAnalysis> others) Create an instance by combining a collection of other instances.static Expr.BindingAnalysisExpr.BindingAnalysis.collectExprs(Collection<Expr> exprs) Create an instance by combining a collection of analyses fromExpr.analyzeInputs().protected abstract Expr.BindingAnalysisExprMacroTable.BaseMacroFunctionExpr.supplyAnalyzeInputs()Implemented by subclasses to provide the value forExprMacroTable.BaseMacroFunctionExpr.analyzeInputs(), which uses a memoized supplier.protected Expr.BindingAnalysisExprMacroTable.BaseScalarMacroFunctionExpr.supplyAnalyzeInputs()Expr.BindingAnalysis.withArrayArguments(Set<Expr> arrayArguments) Add set of arguments asarrayVariablesthat are *directly*IdentifierExpr, else they are ignored.Expr.BindingAnalysis.withArrayInputs(boolean hasArrays) Copy, setting if an expression has array inputsExpr.BindingAnalysis.withArrayOutput(boolean isOutputArray) Copy, setting if an expression produces an array outputExpr.BindingAnalysis.withScalarArguments(Set<Expr> scalarArguments) Add set of arguments asscalarVariablesthat are *directly*IdentifierExpr, else they are ignored.Methods in org.apache.druid.math.expr with parameters of type Expr.BindingAnalysisModifier and TypeMethodDescriptionstatic ExprParser.applyUnappliedBindings(Expr expr, Expr.BindingAnalysis bindingAnalysis, List<String> bindingsToApply) Applies a transformation to anExprgiven a list of known (or uknown) multi-value input columns that are used in a scalar manner, walking theExprtree and lifting array variables into theLambdaExprofApplyFunctionExprand transforming the arguments ofFunctionExpras necessary.static ExprParser.foldUnappliedBindings(Expr expr, Expr.BindingAnalysis bindingAnalysis, List<String> bindingsToApply, String accumulatorId) Applies a transformation to anExprgiven a list of known (or uknown) multi-value input columns that are used in a scalar manner, walking theExprtree and lifting array variables into theLambdaExprofApplyFunctionExprand transforming the arguments ofFunctionExpras necessary.static voidParser.validateExpr(Expr expression, Expr.BindingAnalysis bindingAnalysis) Validate that an expression uses input bindings in a type consistent manner.Method parameters in org.apache.druid.math.expr with type arguments of type Expr.BindingAnalysisModifier and TypeMethodDescriptionstatic Expr.BindingAnalysisExpr.BindingAnalysis.collect(Collection<Expr.BindingAnalysis> others) Create an instance by combining a collection of other instances. -
Uses of Expr.BindingAnalysis in org.apache.druid.segment.virtual
Methods in org.apache.druid.segment.virtual that return Expr.BindingAnalysisModifier and TypeMethodDescriptionExpressionPlan.getAnalysis()Returns basic analysis of the inputs to anExprand how they are usedMethods in org.apache.druid.segment.virtual with parameters of type Expr.BindingAnalysisModifier and TypeMethodDescriptionstatic booleanExpressionSelectors.canMapOverDictionary(Expr.BindingAnalysis bindingAnalysis, ColumnCapabilities columnCapabilities) Returns whether an expression can be applied to unique values of a particular column (like those in a dictionary) rather than being applied to each row individually.