@Override public void visit(XMLElement obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLElement not allowed"); //$NON-NLS-1$ }
@Override public void visit(XMLQuery obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLQuery not allowed"); //$NON-NLS-1$ }
@Override public void visit(XMLExists obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLExists not allowed"); //$NON-NLS-1$ }
@Override public void visit(QueryString obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of QueryString not allowed"); //$NON-NLS-1$ }
@Override public void visit(XMLElement obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLElement not allowed"); //$NON-NLS-1$ }
@Override public void visit(XMLExists obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLExists not allowed"); //$NON-NLS-1$ }
@Override public void visit(XMLElement obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLElement not allowed"); //$NON-NLS-1$ }
@Override public void visit(XMLSerialize obj) { if (willBecomeConstant(obj)) { return; } markInvalid(obj, "Pushdown of XMLSerialize not allowed"); //$NON-NLS-1$ }
private void checkElementsAreSearchable(LanguageObject crit, int searchableType) throws QueryMetadataException, TeiidComponentException { if (!CapabilitiesUtil.checkElementsAreSearchable(Arrays.asList(crit), metadata, searchableType)) { markInvalid(crit, "not all source columns support search type"); //$NON-NLS-1$ } }
private void checkElementsAreSearchable(LanguageObject crit, int searchableType) throws QueryMetadataException, TeiidComponentException { if (!CapabilitiesUtil.checkElementsAreSearchable(Arrays.asList(crit), metadata, searchableType)) { if (willBecomeConstant(crit)) { return; } markInvalid(crit, "not all source columns support search type"); //$NON-NLS-1$ } }
public void visit(CaseExpression obj) { if(! this.caps.supportsCapability(Capability.QUERY_CASE) && !willBecomeConstant(obj)) { markInvalid(obj, "CaseExpression pushdown not supported by source"); //$NON-NLS-1$ } }
public void visit(CaseExpression obj) { if(! this.caps.supportsCapability(Capability.QUERY_CASE) && !willBecomeConstant(obj)) { markInvalid(obj, "CaseExpression pushdown not supported by source"); //$NON-NLS-1$ } }
private void checkLiteralComparison(LanguageObject obj, Collection<? extends LanguageObject> toCheck) { if (isJoin || !this.caps.supportsCapability(Capability.CRITERIA_ONLY_LITERAL_COMPARE)) { return; } for (LanguageObject languageObject : toCheck) { if (!EvaluatableVisitor.willBecomeConstant(languageObject)) { markInvalid(obj, "Non-literal comparison not supported by source."); //$NON-NLS-1$ return; } } }
public void visit(NotCriteria obj) { // Check if compares are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_NOT) && !willBecomeConstant(obj)) { markInvalid(obj, "Negation is not supported by source"); //$NON-NLS-1$ return; } }
public void visit(NotCriteria obj) { // Check if compares are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_NOT) && !willBecomeConstant(obj)) { markInvalid(obj, "Negation is not supported by source"); //$NON-NLS-1$ return; } }
public void visit(SearchedCaseExpression obj) { if(! this.caps.supportsCapability(Capability.QUERY_SEARCHED_CASE) && !willBecomeConstant(obj)) { markInvalid(obj, "SearchedCase is not supported by source"); //$NON-NLS-1$ } }
public void visit(SearchedCaseExpression obj) { if(! this.caps.supportsCapability(Capability.QUERY_SEARCHED_CASE) && !willBecomeConstant(obj)) { markInvalid(obj, "SearchedCase is not supported by source"); //$NON-NLS-1$ } }
public void visit(CaseExpression obj) { if(! this.caps.supportsCapability(Capability.QUERY_CASE) && !willBecomeConstant(obj)) { markInvalid(obj, "CaseExpression pushdown not supported by source"); //$NON-NLS-1$ } }
private void checkLiteralComparison(LanguageObject obj, Collection<? extends LanguageObject> toCheck) { if (isJoin || !this.caps.supportsCapability(Capability.CRITERIA_ONLY_LITERAL_COMPARE)) { return; } for (LanguageObject languageObject : toCheck) { if (!EvaluatableVisitor.willBecomeConstant(languageObject)) { markInvalid(obj, "Non-literal comparison not supported by source."); //$NON-NLS-1$ return; } } }
public void visit(CompoundCriteria crit) { int operator = crit.getOperator(); // Verify capabilities are supported if(operator == CompoundCriteria.OR && !this.caps.supportsCapability(Capability.CRITERIA_OR) && !willBecomeConstant(crit)) { markInvalid(crit, "OR criteria not supported by source"); //$NON-NLS-1$ } }