final public WindowOffset WindowOffset() throws ParseException {WindowOffset offset = new WindowOffset(); Expression expr = null; switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { case K_PRECEDING:{ jj_consume_token(K_PRECEDING); offset.setType(WindowOffset.Type.PRECEDING); break; offset.setType(WindowOffset.Type.FOLLOWING); break; jj_consume_token(K_CURRENT); jj_consume_token(K_ROW); offset.setType(WindowOffset.Type.CURRENT); break; case 236:{ expr = SimpleExpression(); offset.setType(WindowOffset.Type.EXPR); offset.setExpression(expr); switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { case K_PRECEDING:{ jj_consume_token(K_PRECEDING); offset.setType(WindowOffset.Type.PRECEDING); break; offset.setType(WindowOffset.Type.FOLLOWING); break;
@Override public String toString() { StringBuilder buffer = new StringBuilder(type.toString()); if (offset != null) { buffer.append(offset.toString()); } else if (range != null) { buffer.append(range.toString()); } return buffer.toString(); } }
@Override public void visit(AnalyticExpression expr) { if (expr.getExpression() != null) { expr.getExpression().accept(this); } if (expr.getDefaultValue() != null) { expr.getDefaultValue().accept(this); } if (expr.getOffset() != null) { expr.getOffset().accept(this); } if (expr.getKeep() != null) { expr.getKeep().accept(this); } for (OrderByElement element : expr.getOrderByElements()) { element.getExpression().accept(this); } if (expr.getWindowElement() != null) { expr.getWindowElement().getRange().getStart().getExpression().accept(this); expr.getWindowElement().getRange().getEnd().getExpression().accept(this); expr.getWindowElement().getOffset().getExpression().accept(this); } }
@Override public void visit(AnalyticExpression expr) { if (expr.getExpression() != null) { expr.getExpression().accept(this); } if (expr.getDefaultValue() != null) { expr.getDefaultValue().accept(this); } if (expr.getOffset() != null) { expr.getOffset().accept(this); } if (expr.getKeep() != null) { expr.getKeep().accept(this); } for (OrderByElement element : expr.getOrderByElements()) { element.getExpression().accept(this); } if (expr.getWindowElement() != null) { expr.getWindowElement().getRange().getStart().getExpression().accept(this); expr.getWindowElement().getRange().getEnd().getExpression().accept(this); expr.getWindowElement().getOffset().getExpression().accept(this); } }
final public WindowOffset WindowOffset() throws ParseException {WindowOffset offset = new WindowOffset(); Expression expr = null; switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { case K_PRECEDING:{ jj_consume_token(K_PRECEDING); offset.setType(WindowOffset.Type.PRECEDING); break; offset.setType(WindowOffset.Type.FOLLOWING); break; jj_consume_token(K_CURRENT); jj_consume_token(K_ROW); offset.setType(WindowOffset.Type.CURRENT); break; case 233:{ expr = SimpleExpression(); offset.setType(WindowOffset.Type.EXPR); offset.setExpression(expr); switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { case K_PRECEDING:{ jj_consume_token(K_PRECEDING); offset.setType(WindowOffset.Type.PRECEDING); break; offset.setType(WindowOffset.Type.FOLLOWING); break;
@Override public String toString() { StringBuilder buffer = new StringBuilder(type.toString()); if (offset != null) { buffer.append(offset.toString()); } else if (range != null) { buffer.append(range.toString()); } return buffer.toString(); } }