private int lookupOrCreateGroupExpr(RexNode expr) { for (int i = 0; i < convertedInputExprs.size(); i++) { RexNode convertedInputExpr = convertedInputExprs.get(i); if (expr.toString().equals(convertedInputExpr.toString())) { return i; } } // not found -- add it int index = convertedInputExprs.size(); addExpr(expr, null); return index; }
private int lookupOrCreateGroupExpr(RexNode expr) { for (int i = 0; i < convertedInputExprs.size(); i++) { RexNode convertedInputExpr = convertedInputExprs.get(i); if (expr.toString().equals(convertedInputExpr.toString())) { return i; } } // not found -- add it int index = convertedInputExprs.size(); addExpr(expr, null); return index; }
protected RexNode register(RexNode expr) { final String key = expr.toString(); final RexNode previous = mapDigestToExpr.put(key, expr); if (!allowDups && (previous != null)) { throw new SubExprExistsException(expr); } return expr; }
protected RexNode register(RexNode expr) { final String key = expr.toString(); final RexNode previous = mapDigestToExpr.put(key, expr); if (!allowDups && (previous != null)) { throw new SubExprExistsException(expr); } return expr; }
@Override public String toString() { return offset.toString() + " " + sqlKind.toString(); }
public Iterator<Mapping> iterator() { BitSet fields = exprFields.get(predicate.toString()); if (fields.cardinality() == 0) { return Iterators.emptyIterator(); } return new ExprsItr(fields); } };
private void printBound(StringBuilder sb, SargEndpoint endpoint) { if (endpoint.isFinite()) { sb.append(endpoint.getCoordinate().toString()); } else { sb.append(endpoint); } } }
private void printBound(StringBuilder sb, SargEndpoint endpoint) { if (endpoint.isFinite()) { sb.append(endpoint.getCoordinate().toString()); } else { sb.append(endpoint); } } }
/** * Creates a key for {@link RexNode} which is the same as another key of * another RexNode only if the two have both the same type and textual * representation. For example, "10" integer and "10" bigint result in * different keys. */ public static Pair<String, String> makeKey(RexNode expr) { return Pair.of(expr.toString(), expr.getType().getFullTypeString()); }
private void checkSatisfiable(RexNode e, String s) { assertTrue(SubstitutionVisitor.mayBeSatisfiable(e)); final RexNode simple = SubstitutionVisitor.simplify(rexBuilder, e); assertEquals(s, simple.toString()); } }
private void checkSatisfiable(RexNode e, String s) { assertTrue(SubstitutionVisitor.mayBeSatisfiable(e)); final RexNode simple = SubstitutionVisitor.simplify(rexBuilder, e); assertEquals(s, simple.toString()); }
@Test public void testNonBooleans() { RexNode node = rexBuilder.makeCall( SqlStdOperatorTable.plusOperator, x, y); String expected = node.toString(); check(Boolean.TRUE, node, expected); check(Boolean.FALSE, node, expected); check(null, node, expected); }
@Test public void testNonBooleans() { RexNode node = rexBuilder.makeCall( SqlStdOperatorTable.PLUS, x, y); String expected = node.toString(); check(Boolean.TRUE, node, expected); check(Boolean.FALSE, node, expected); check(null, node, expected); }