class BeamSqlCardinalityExpression extends BeamSqlExpression {

  @Override
  public BeamSqlPrimitive evaluate(
      Row inputRow, BoundedWindow window, BeamSqlExpressionEnvironment env) {
    Collection<Object> collection = (Collection) opValueEvaluated(0, inputRow, window, env);
    return BeamSqlPrimitive.of(outputType, collection.size());
  }

  public  BeamSqlCardinalityExpression(List<BeamSqlExpression> operands, SqlTypeName sqlTypeName);

}