public abstract class BeamSqlExpression
extends java.lang.Object
implements java.io.Serializable
BeamSqlExpression
is an equivalent expression in BeamSQL, of RexNode
in Calcite.
An implementation of BeamSqlExpression
takes one or more BeamSqlExpression
as
its operands, and return a value with type SqlTypeName
.
Modifier and Type | Field and Description |
---|---|
protected java.util.List<BeamSqlExpression> |
operands |
protected org.apache.calcite.sql.type.SqlTypeName |
outputType |
Modifier | Constructor and Description |
---|---|
protected |
BeamSqlExpression() |
|
BeamSqlExpression(java.util.List<BeamSqlExpression> operands,
org.apache.calcite.sql.type.SqlTypeName outputType) |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
accept()
assertion to make sure the input and output are supported in this expression.
|
abstract BeamSqlPrimitive |
evaluate(Row inputRow,
BoundedWindow window,
BeamSqlExpressionEnvironment env)
Apply input record
Row with BoundedWindow to this expression, the output value
is wrapped with BeamSqlPrimitive . |
java.util.List<BeamSqlExpression> |
getOperands() |
org.apache.calcite.sql.type.SqlTypeName |
getOutputType() |
int |
numberOfOperands() |
BeamSqlExpression |
op(int idx) |
org.apache.calcite.sql.type.SqlTypeName |
opType(int idx) |
java.lang.Object |
opValueEvaluated(int idx,
Row row,
BoundedWindow window,
BeamSqlExpressionEnvironment env) |
protected java.util.List<BeamSqlExpression> operands
protected org.apache.calcite.sql.type.SqlTypeName outputType
protected BeamSqlExpression()
public BeamSqlExpression(java.util.List<BeamSqlExpression> operands, org.apache.calcite.sql.type.SqlTypeName outputType)
public BeamSqlExpression op(int idx)
public org.apache.calcite.sql.type.SqlTypeName opType(int idx)
public java.lang.Object opValueEvaluated(int idx, Row row, BoundedWindow window, BeamSqlExpressionEnvironment env)
public abstract boolean accept()
public abstract BeamSqlPrimitive evaluate(Row inputRow, BoundedWindow window, BeamSqlExpressionEnvironment env)
Row
with BoundedWindow
to this expression, the output value
is wrapped with BeamSqlPrimitive
.public java.util.List<BeamSqlExpression> getOperands()
public org.apache.calcite.sql.type.SqlTypeName getOutputType()
public int numberOfOperands()