Package org.apache.druid.math.expr
Interface Expr.InputBindingInspector
-
- All Known Subinterfaces:
ApplyFunction.IndexableFoldLambdaBinding,ApplyFunction.IndexableMapLambdaObjectBinding,ColumnIndexSelector,ColumnInspector,ColumnSelector,ColumnSelectorFactory,Expr.ObjectBinding,Expr.VectorInputBinding,Expr.VectorInputBindingInspector,QueryableIndex,StorageAdapter,VectorColumnSelectorFactory
- All Known Implementing Classes:
AllNullColumnSelectorFactory,ApplyFunction.CartesianFoldLambdaBinding,ApplyFunction.CartesianMapLambdaBinding,ApplyFunction.FoldLambdaBinding,ApplyFunction.LambdaInputBindingInspector,ApplyFunction.MapLambdaBinding,ApplyFunction.SettableLambdaBinding,ColumnCache,ColumnSelectorColumnIndexSelector,DefaultColumnSelectorFactoryMaker.ColumnAccessorBasedColumnSelectorFactory,DeprecatedQueryableIndexColumnSelector,ExpressionLambdaAggregatorInputBindings,ExpressionVectorInputBinding,FilteredStorageAdapter,FrameColumnSelectorFactory,FrameQueryableIndex,FrameStorageAdapter,HashJoinSegmentStorageAdapter,IncrementalIndex,IncrementalIndexStorageAdapter,IndexedTableColumnSelectorFactory,InputBindings.BestEffortInputBindings,LookupColumnSelectorFactory,MultiColumnSelectorFactory,OnheapIncrementalIndex,QueryableIndexColumnSelectorFactory,QueryableIndexStorageAdapter,QueryableIndexVectorColumnSelectorFactory,RowBasedColumnSelectorFactory,RowBasedStorageAdapter,RowSignature,SettableCursorColumnSelectorFactory,SettableObjectBinding,SimpleQueryableIndex,SingleInputBindings,UnnestStorageAdapter,VirtualizedColumnInspector,VirtualizedColumnSelectorFactory
- Enclosing interface:
- Expr
public static interface Expr.InputBindingInspectorMechanism to supply input types for the bindings which will backIdentifierExpr, to use in the aid of inferring the output type of an expression withExpr.getOutputType(org.apache.druid.math.expr.Expr.InputBindingInspector). A null value means that either the binding doesn't exist, or, that the type information is unavailable.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default booleanareNumeric(List<Expr> args)Check if all providedExprcan infer the output type asTypeSignature.isNumeric()with a value of true (or null, which is not a type) There must be at least one expression with a computable numeric output type for this method to return true.default booleanareNumeric(Expr... args)Check if all providedExprcan infer the output type asTypeSignature.isNumeric()with a value of true (or null, which is not a type) There must be at least one expression with a computable numeric output type for this method to return true.default booleanareSameTypes(List<Expr> args)Check if all arguments are the same type (or null, which is not a type) This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)default booleanareSameTypes(Expr... args)Check if all arguments are the same type (or null, which is not a type) This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)default booleanareScalar(List<Expr> args)Check if all providedExprcan infer the output type asTypeSignature.isPrimitive()(non-array) with a value of true (or null, which is not a type) There must be at least one expression with a computable scalar output type for this method to return true.default booleanareScalar(Expr... args)Check if all providedExprcan infer the output type asTypeSignature.isPrimitive()(non-array) with a value of true (or null, which is not a type) There must be at least one expression with a computable scalar output type for this method to return true.default booleancanVectorize(List<Expr> args)Check if every providedExprcomputesExpr.canVectorize(InputBindingInspector)to a value of truedefault booleancanVectorize(Expr... args)Check if every providedExprcomputesExpr.canVectorize(InputBindingInspector)to a value of trueExpressionTypegetType(String name)Get theExpressionTypefrom the backing store for a given identifier (this is likely a column, but could be other things depending on the backing adapter)
-
-
-
Method Detail
-
getType
@Nullable ExpressionType getType(String name)
Get theExpressionTypefrom the backing store for a given identifier (this is likely a column, but could be other things depending on the backing adapter)
-
areNumeric
default boolean areNumeric(List<Expr> args)
Check if all providedExprcan infer the output type asTypeSignature.isNumeric()with a value of true (or null, which is not a type) There must be at least one expression with a computable numeric output type for this method to return true. This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)
-
areNumeric
default boolean areNumeric(Expr... args)
Check if all providedExprcan infer the output type asTypeSignature.isNumeric()with a value of true (or null, which is not a type) There must be at least one expression with a computable numeric output type for this method to return true. This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)
-
areSameTypes
default boolean areSameTypes(List<Expr> args)
Check if all arguments are the same type (or null, which is not a type) This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)
-
areSameTypes
default boolean areSameTypes(Expr... args)
Check if all arguments are the same type (or null, which is not a type) This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)
-
areScalar
default boolean areScalar(List<Expr> args)
Check if all providedExprcan infer the output type asTypeSignature.isPrimitive()(non-array) with a value of true (or null, which is not a type) There must be at least one expression with a computable scalar output type for this method to return true. This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)
-
areScalar
default boolean areScalar(Expr... args)
Check if all providedExprcan infer the output type asTypeSignature.isPrimitive()(non-array) with a value of true (or null, which is not a type) There must be at least one expression with a computable scalar output type for this method to return true. This method should only be used ifgetType(java.lang.String)produces accurate information for all bindings (no null value for type unless the input binding does not exist and so the input is always null)
-
canVectorize
default boolean canVectorize(List<Expr> args)
Check if every providedExprcomputesExpr.canVectorize(InputBindingInspector)to a value of true
-
canVectorize
default boolean canVectorize(Expr... args)
Check if every providedExprcomputesExpr.canVectorize(InputBindingInspector)to a value of true
-
-