private boolean evaluate(ExistsCriteria criteria, List<?> tuple) throws BlockedException, TeiidComponentException, ExpressionEvaluationException { ValueIterator valueIter; try { valueIter = evaluateSubquery(criteria, tuple); } catch (TeiidProcessingException e) { throw new ExpressionEvaluationException(e); } if(valueIter.hasNext()) { return !criteria.isNegated(); } return criteria.isNegated(); }
private boolean evaluate(ExistsCriteria criteria, List<?> tuple) throws BlockedException, TeiidComponentException, ExpressionEvaluationException { ValueIterator valueIter; try { valueIter = evaluateSubquery(criteria, tuple); } catch (TeiidProcessingException e) { throw new ExpressionEvaluationException(e); } if(valueIter.hasNext()) { return !criteria.isNegated(); } return criteria.isNegated(); }
private boolean evaluate(ExistsCriteria criteria, List<?> tuple) throws BlockedException, TeiidComponentException, ExpressionEvaluationException { ValueIterator valueIter; try { valueIter = evaluateSubquery(criteria, tuple); } catch (TeiidProcessingException e) { throw new ExpressionEvaluationException(e); } if(valueIter.hasNext()) { return !criteria.isNegated(); } return criteria.isNegated(); }
Condition translate(ExistsCriteria criteria) { Exists exists = new Exists(translate(criteria.getCommand())); if (criteria.isNegated()) { return new Not(exists); } return exists; }
Condition translate(ExistsCriteria criteria) { Exists exists = new Exists(translate(criteria.getCommand())); if (criteria.isNegated()) { return new Not(exists); } return exists; }
Condition translate(ExistsCriteria criteria) { Exists exists = new Exists(translate(criteria.getCommand())); if (criteria.isNegated()) { return new Not(exists); } return exists; }
@Override public void visit( ExistsCriteria obj ) { if (obj.isNegated()) { append(NOT); append(SPACE); } append(EXISTS); addSubqueryHint(obj.getSubqueryHint()); append(" ("); //$NON-NLS-1$ visitNode(obj.getCommand()); append(")"); //$NON-NLS-1$ }
@Override public void visit( ExistsCriteria obj ) { if (obj.isNegated()) { append(NOT); append(SPACE); } append(EXISTS); addSubqueryHint(obj.getSubqueryHint()); append(" ("); //$NON-NLS-1$ visitNode(obj.getCommand()); append(")"); //$NON-NLS-1$ }
@Override public void visit( ExistsCriteria obj ) { if (obj.isNegated()) { append(NOT); append(SPACE); } append(EXISTS); addSubqueryHint(obj.getSubqueryHint()); append(" ("); //$NON-NLS-1$ visitNode(obj.getCommand()); append(")"); //$NON-NLS-1$ }
/** * @see org.teiid.query.sql.LanguageVisitor#visit(org.teiid.query.sql.lang.ExistsCriteria) */ public void visit(ExistsCriteria crit) { // Check if exists criteria are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_EXISTS)) { markInvalid(crit, "Exists is not supported by source"); //$NON-NLS-1$ return; } if (crit.isNegated() && !this.caps.supportsCapability(Capability.CRITERIA_NOT)) { markInvalid(crit, "Negation is not supported by source"); //$NON-NLS-1$ return; } try { if (validateSubqueryPushdown(crit, modelID, metadata, capFinder, analysisRecord) == null) { if (crit.getCommand().getCorrelatedReferences() == null) { crit.setShouldEvaluate(true); } else { markInvalid(crit.getCommand(), "Subquery cannot be pushed down"); //$NON-NLS-1$ } } } catch (TeiidComponentException e) { handleException(e); } }
/** * @see org.teiid.query.sql.LanguageVisitor#visit(org.teiid.query.sql.lang.ExistsCriteria) */ public void visit(ExistsCriteria crit) { // Check if exists criteria are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_EXISTS)) { markInvalid(crit, "Exists is not supported by source"); //$NON-NLS-1$ return; } if (crit.isNegated() && !this.caps.supportsCapability(Capability.CRITERIA_NOT)) { markInvalid(crit, "Negation is not supported by source"); //$NON-NLS-1$ return; } try { if (validateSubqueryPushdown(crit, modelID, metadata, capFinder, analysisRecord) == null) { if (crit.getCommand().getCorrelatedReferences() == null) { crit.setShouldEvaluate(true); } else { markInvalid(crit.getCommand(), "Subquery cannot be pushed down"); //$NON-NLS-1$ } } } catch (TeiidComponentException e) { handleException(e); } }
/** * @see org.teiid.query.sql.LanguageVisitor#visit(org.teiid.query.sql.lang.ExistsCriteria) */ public void visit(ExistsCriteria crit) { // Check if exists criteria are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_EXISTS)) { markInvalid(crit, "Exists is not supported by source"); //$NON-NLS-1$ return; } if (crit.isNegated() && !this.caps.supportsCapability(Capability.CRITERIA_NOT)) { markInvalid(crit, "Negation is not supported by source"); //$NON-NLS-1$ return; } try { if (validateSubqueryPushdown(crit, modelID, metadata, capFinder, analysisRecord) == null) { if (crit.getCommand().getCorrelatedReferences() == null) { crit.setShouldEvaluate(true); } else { markInvalid(crit.getCommand(), "Subquery cannot be pushed down"); //$NON-NLS-1$ } } } catch (TeiidComponentException e) { handleException(e); } }
result.not = exists.isNegated();
result.not = exists.isNegated();
result.not = exists.isNegated();
return exists.isNegated()?TRUE_CRITERIA:FALSE_CRITERIA;
return exists.isNegated()?TRUE_CRITERIA:FALSE_CRITERIA;
return exists.isNegated()?TRUE_CRITERIA:FALSE_CRITERIA;