public ExpressionProtos.WindowFunction toProtoBuf() { ExpressionProtos.WindowFunction.Builder builder = ExpressionProtos.WindowFunction.newBuilder(); builder.setProject(project); builder.setName(name); builder.setIsDistinct(distinct); for (ScalarExpression param : parameters) { builder.addParameters(param.toProtoBuf()); } for (ScalarExpression pb : partitionBy) { builder.addPartitionBy(pb.toProtoBuf()); } if (sortBy != null && sortBy.size() > 0) { for (Order order : sortBy) { builder.addOrderBy(order.toProtoBuf()); } } if (windowing != null) { builder.setWindowingClause(windowing.toProtoBuf()); } return builder.build(); }
public ExpressionProtos.WindowFunction.OrderBy toProtoBuf() { ExpressionProtos.WindowFunction.OrderBy.Builder builder = ExpressionProtos.WindowFunction.OrderBy.newBuilder(); builder.setExpression(expression.toProtoBuf()); builder.setIsAsc(asc); return builder.build(); }