@Override protected R visitWhenClause(final WhenClause node, final C context) { process(node.getOperand(), context); process(node.getResult(), context); return null; }
protected R visitArithmeticBinary(final ArithmeticBinaryExpression node, final C context) { process(node.getLeft(), context); process(node.getRight(), context); return visitExpression(node, context); }
private static SearchedCaseExpression getSearchedCaseExpressionFromCsas(final Statement statement) { final Query query = ((CreateStreamAsSelect) statement).getQuery(); final QuerySpecification querySpecification = (QuerySpecification) query.getQueryBody(); final Expression caseExpression = ((SingleColumn) querySpecification.getSelect().getSelectItems().get(0)).getExpression(); return (SearchedCaseExpression) caseExpression; }
protected R visitLogicalBinaryExpression(final LogicalBinaryExpression node, final C context) { process(node.getLeft(), context); process(node.getRight(), context); return visitExpression(node, context); }
@Override protected R visitInPredicate(final InPredicate node, final C context) { process(node.getValue(), context); process(node.getValueList(), context); return null; }
@Override protected R visitSelect(final Select node, final C context) { for (final SelectItem item : node.getSelectItems()) { process(item, context); } return null; }
@Override protected R visitSingleColumn(final SingleColumn node, final C context) { process(node.getExpression(), context); return null; }
@Override protected R visitSimpleGroupBy(final SimpleGroupBy node, final C context) { visitGroupingElement(node, context); for (final Expression expression : node.getColumnExpressions()) { process(expression, context); } return null; }
@Override public R visitWindow(final Window node, final C context) { process(node.getWindowExpression(), context); return null; }
@Override protected R visitSetOperation(final SetOperation node, final C context) { for (final Relation relation : node.getRelations()) { process(relation, context); } return null; }
@Override protected R visitGroupBy(final GroupBy node, final C context) { for (final GroupingElement groupingElement : node.getGroupingElements()) { process(groupingElement, context); } return null; }