@Override public void visit(IsNull obj) { if (obj.isNegated()) { this.filter.append(NOT.toLowerCase()).append(Tokens.LPAREN); } appendNested(obj.getExpression()); this.filter.append(Tokens.SPACE); this.filter.append("eq").append(Tokens.SPACE); //$NON-NLS-1$ this.filter.append(NULL.toLowerCase()); if (obj.isNegated()) { this.filter.append(Tokens.RPAREN); } }
public IsNull createIsNullCriteria(Expression expression, boolean isNegated) { return new IsNull(expression, isNegated); }
public void visit(IsNull obj) { visitNode(obj.getExpression()); }
protected QueryBuilder buildIsNullQuery(IsNull obj, QueryBuilder query) { if (obj.isNegated()) { query.notEquals(null); } else { query.is(null); } return query; }
@Override public void visit(IsNull obj) { append(obj.getExpression()); Object expr = this.onGoingExpression.pop(); ColumnDetail detail = this.expressionMap.get(expr); QueryBuilder query = QueryBuilder.start(); if (detail == null) { this.exceptions.add(new TranslatorException(MongoDBPlugin.Event.TEIID18032, MongoDBPlugin.Util.gs(MongoDBPlugin.Event.TEIID18032))); } else { query = detail.getQueryBuilder(); this.onGoingExpression.push(buildIsNullQuery(obj, query).get()); } }
public void visit(IsNull obj) { appendNested(obj.getExpression()); buffer.append(Tokens.SPACE) .append(IS) .append(Tokens.SPACE); if (obj.isNegated()) { buffer.append(NOT) .append(Tokens.SPACE); } buffer.append(NULL); }
@Override public void visit(IsNull obj) { if (!this.mongoDoc.isMerged() || this.mongoDoc.isMerged() && this.mongoDoc.getMergeAssociation() != Association.MANY) { super.visit(obj); return; } try { boolean buildPullQuery = includeInPullCriteria(obj.getExpression()); if (buildPullQuery) { ColumnDetail exprAlias = getExpressionAlias(obj.getExpression()); this.onGoingPullCriteria.push(buildIsNullQuery(obj, exprAlias.getPullQueryBuilder()).get()); } else { ColumnDetail exprAlias = getExpressionAlias(obj.getExpression()); this.onGoingExpression.push(buildIsNullQuery(obj, exprAlias.getQueryBuilder()).get()); } } catch (TranslatorException e) { this.exceptions.add(e); } }
@Override public List<?> translate(Function function) { Expression trueValue = function.getParameters().get(0); Expression falseValue = trueValue; falseValue = new IsNull(falseValue, true); if (!(trueValue instanceof Predicate)) { trueValue = new Comparison(trueValue, new Literal(Boolean.TRUE, TypeFacility.RUNTIME_TYPES.BOOLEAN), Comparison.Operator.EQ); } return Arrays.asList("CASE WHEN ", trueValue, " THEN 'true' WHEN ", falseValue, " THEN 'false' END"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } });
@Override public void visit(IsNull obj) { appendNested(obj.getExpression()); this.filter.append(Tokens.SPACE); this.filter.append(obj.isNegated()?"ne":"eq").append(Tokens.SPACE); //$NON-NLS-1$ //$NON-NLS-2$ this.filter.append(NULL.toLowerCase()); }
public void testGetExpression() throws Exception { assertNotNull(example(false).getExpression()); }
IsNull translate(IsNullCriteria criteria) { return new IsNull(translate(criteria.getExpression()), criteria.isNegated()); }
@Override public void visit(IsNull obj) { try { Object o1 = getRowValue(obj.getExpression()); if (obj.isNegated()) { this.match.push(o1 != null); } else { this.match.push(o1 == null); } } catch (TranslatorException e) { this.exceptions.add(e); } }
IsNull translate(IsNullCriteria criteria) { return new IsNull(translate(criteria.getExpression()), criteria.isNegated()); }
public void visit(IsNull obj) { visit(new Comparison(obj.getExpression(), new Literal(null, obj.getExpression().getType()), obj.isNegated()?Comparison.Operator.NE:Comparison.Operator.EQ)); }
IsNull translate(IsNullCriteria criteria) { return new IsNull(translate(criteria.getExpression()), criteria.isNegated()); }