private static String formatFrame(WindowNode.Frame frame) { StringBuilder builder = new StringBuilder(frame.getType().toString()); frame.getOriginalStartValue().ifPresent(value -> builder.append(" ").append(value)); builder.append(" ").append(frame.getStartType()); frame.getOriginalEndValue().ifPresent(value -> builder.append(" ").append(value)); builder.append(" ").append(frame.getEndType()); return builder.toString(); }
@Override public String visitWindowFrame(WindowFrame node, Void context) { StringBuilder builder = new StringBuilder(); builder.append(node.getType().toString()).append(' '); if (node.getEnd().isPresent()) { builder.append("BETWEEN ") .append(process(node.getStart(), context)) .append(" AND ") .append(process(node.getEnd().get(), context)); } else { builder.append(process(node.getStart(), context)); } return builder.toString(); }
@Override public String visitWindowFrame(WindowFrame node, Void context) { StringBuilder builder = new StringBuilder(); builder.append(node.getType().toString()).append(' '); if (node.getEnd().isPresent()) { builder.append("BETWEEN ") .append(process(node.getStart(), context)) .append(" AND ") .append(process(node.getEnd().get(), context)); } else { builder.append(process(node.getStart(), context)); } return builder.toString(); }
@Override public String visitWindowFrame(WindowFrame node, Boolean unmangleNames) { StringBuilder builder = new StringBuilder(); builder.append(node.getType().toString()).append(' '); if (node.getEnd().isPresent()) { builder.append("BETWEEN ") .append(process(node.getStart(), unmangleNames)) .append(" AND ") .append(process(node.getEnd().get(), unmangleNames)); } else { builder.append(process(node.getStart(), unmangleNames)); } return builder.toString(); }
@Override public String visitWindowFrame(WindowFrame node, Boolean unmangleNames) { StringBuilder builder = new StringBuilder(); builder.append(node.getType().toString()).append(' '); if (node.getEnd().isPresent()) { builder.append("BETWEEN ") .append(process(node.getStart(), unmangleNames)) .append(" AND ") .append(process(node.getEnd().get(), unmangleNames)); } else { builder.append(process(node.getStart(), unmangleNames)); } return builder.toString(); }
@Override public String visitWindowFrame(WindowFrame node, Void context) { StringBuilder builder = new StringBuilder(); builder.append(node.getType().toString()).append(' '); if (node.getEnd().isPresent()) { builder.append("BETWEEN ") .append(process(node.getStart(), context)) .append(" AND ") .append(process(node.getEnd().get(), context)); } else { builder.append(process(node.getStart(), context)); } return builder.toString(); }