@Override protected String visitQuantifiedComparisonExpression(QuantifiedComparisonExpression node, Void context) { return new StringBuilder() .append("(") .append(process(node.getValue(), context)) .append(' ') .append(node.getOperator().getValue()) .append(' ') .append(node.getQuantifier().toString()) .append(' ') .append(process(node.getSubquery(), context)) .append(")") .toString(); }
@Test public void testComparisonExpressionWithNulls() { for (ComparisonExpression.Operator operator : ComparisonExpression.Operator.values()) { if (operator == ComparisonExpression.Operator.IS_DISTINCT_FROM) { // IS DISTINCT FROM has different NULL semantics continue; } assertFilter(format("NULL %s NULL", operator.getValue()), false); assertFilter(format("42 %s NULL", operator.getValue()), false); assertFilter(format("NULL %s 42", operator.getValue()), false); assertFilter(format("11.1 %s NULL", operator.getValue()), false); assertFilter(format("NULL %s 11.1", operator.getValue()), false); } }
format("Unexpected quantified comparison: '%s %s'", quantifiedComparison.getOperator().getValue(), quantifiedComparison.getQuantifier()));
@Override protected String visitQuantifiedComparisonExpression(QuantifiedComparisonExpression node, Void context) { return new StringBuilder() .append("(") .append(process(node.getValue(), context)) .append(' ') .append(node.getOperator().getValue()) .append(' ') .append(node.getQuantifier().toString()) .append(' ') .append(process(node.getSubquery(), context)) .append(")") .toString(); }
@Override protected String visitComparisonExpression(ComparisonExpression node, Void context) { return formatBinaryExpression(node.getOperator().getValue(), node.getLeft(), node.getRight()); }
@Override protected String visitComparisonExpression(ComparisonExpression node, Void context) { return formatBinaryExpression(node.getOperator().getValue(), node.getLeft(), node.getRight()); }