addWindowFunctionExpression method

void addWindowFunctionExpression(
  1. WindowFunctionExpression<Object> expr
)

Implementation

void addWindowFunctionExpression(WindowFunctionExpression expr) {
  writeExpression(expr, () {
    expr.function.compileWith(this);
    statement.buffer.write(' OVER (');
    _expressionPrecedence = null;
    if (expr.partitionBy case final partitionBy?
        when partitionBy.isNotEmpty) {
      statement.buffer.write('PARTITION BY ');
      addCommaSeparated(partitionBy);
      statement.space();
    }
    expr.orderBy.compileWith(this);
    statement.space();
    addFrameBoundary(expr.boundary);
    statement.buffer.write(')');
  });
}