Class TimestampFloorExprMacro.TimestampFloorDynamicExpr

All Implemented Interfaces:
Cacheable, Expr, ExprMacroTable.ExprMacroFunctionExpr
Enclosing class:
TimestampFloorExprMacro

public static class TimestampFloorExprMacro.TimestampFloorDynamicExpr extends ExprMacroTable.BaseScalarMacroFunctionExpr
  • Method Details

    • eval

      @Nonnull public ExprEval eval(Expr.ObjectBinding bindings)
      Description copied from interface: Expr
      Evaluate the Expr with the bindings which supply IdentifierExpr with their values, producing an ExprEval with the result.
    • getOutputType

      @Nullable public ExpressionType getOutputType(Expr.InputBindingInspector inspector)
      Description copied from interface: Expr
      Given an Expr.InputBindingInspector, compute what the output ExpressionType will be for this expression. In the vectorized expression engine, if Expr.canVectorize(InputBindingInspector) returns true, a return value of null MUST ONLY indicate that the expression has all null inputs (non-existent columns) or null constants for the entire expression. Otherwise, all vectorizable expressions must produce an output type to correctly operate with the vectorized engine. Outside the context of vectorized expressions, a return value of null can also indicate that the given type information was not enough to resolve the output type, so the expression must be evaluated using default Expr.eval(org.apache.druid.math.expr.Expr.ObjectBinding) handling where types are only known after evaluation, through ExprEval.type(), such as transform expressions at ingestion time