public void visit(DependentSetCriteria crit) { checkAbstractSetCriteria(crit); }
public void visit(DependentSetCriteria crit) { checkAbstractSetCriteria(crit); }
public void visit(DependentSetCriteria crit) { checkAbstractSetCriteria(crit); }
public void visit(SetCriteria crit) { checkAbstractSetCriteria(crit); try { int maxSize = CapabilitiesUtil.getMaxInCriteriaSize(modelID, metadata, capFinder); int maxPredicates = CapabilitiesUtil.getMaxDependentPredicates(modelID, metadata, capFinder); //allow 1/2 to a single predicate - TODO: make this more precise if (maxSize > 0 && maxPredicates > 0 && crit.getValues().size() > Math.max(maxSize, (maxSize * (long)maxPredicates)/2)) { if (willBecomeConstant(crit)) { return; } markInvalid(crit, "SetCriteria size exceeds maximum for source"); //$NON-NLS-1$ return; } } catch(QueryMetadataException e) { handleException(new TeiidComponentException(e)); } catch(TeiidComponentException e) { handleException(e); } checkLiteralComparison(crit, crit.getValues()); }
public void visit(SetCriteria crit) { if (willBecomeConstant(crit)) { return; } checkAbstractSetCriteria(crit); try { int maxSize = CapabilitiesUtil.getMaxInCriteriaSize(modelID, metadata, capFinder); int maxPredicates = CapabilitiesUtil.getMaxDependentPredicates(modelID, metadata, capFinder); //allow 1/2 to a single predicate - TODO: make this more precise if (maxSize > 0 && maxPredicates > 0 && crit.getValues().size() > Math.max(maxSize, (maxSize * (long)maxPredicates)/2)) { markInvalid(crit, "SetCriteria size exceeds maximum for source"); //$NON-NLS-1$ return; } } catch(QueryMetadataException e) { handleException(new TeiidComponentException(e)); } catch(TeiidComponentException e) { handleException(e); } checkLiteralComparison(crit, crit.getValues()); }
public void visit(SetCriteria crit) { checkAbstractSetCriteria(crit); try { int maxSize = CapabilitiesUtil.getMaxInCriteriaSize(modelID, metadata, capFinder); int maxPredicates = CapabilitiesUtil.getMaxDependentPredicates(modelID, metadata, capFinder); //allow 1/2 to a single predicate - TODO: make this more precise if (maxSize > 0 && maxPredicates > 0 && crit.getValues().size() > Math.max(maxSize, (maxSize * (long)maxPredicates)/2)) { if (willBecomeConstant(crit)) { return; } markInvalid(crit, "SetCriteria size exceeds maximum for source"); //$NON-NLS-1$ return; } } catch(QueryMetadataException e) { handleException(new TeiidComponentException(e)); } catch(TeiidComponentException e) { handleException(e); } checkLiteralComparison(crit, crit.getValues()); }
public void visit(SubquerySetCriteria crit) { checkAbstractSetCriteria(crit); try { // Check if compares with subqueries are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_IN_SUBQUERY)) { markInvalid(crit, "SubqueryIn is not supported by source"); //$NON-NLS-1$ return; } if (validateSubqueryPushdown(crit, modelID, metadata, capFinder, analysisRecord) == null) { markInvalid(crit.getCommand(), "Subquery cannot be pushed down"); //$NON-NLS-1$ } } catch(QueryMetadataException e) { handleException(new TeiidComponentException(e)); } catch(TeiidComponentException e) { handleException(e); } }
public void visit(SubquerySetCriteria crit) { checkAbstractSetCriteria(crit); try { // Check if compares with subqueries are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_IN_SUBQUERY)) { markInvalid(crit, "SubqueryIn is not supported by source"); //$NON-NLS-1$ return; } if (validateSubqueryPushdown(crit, modelID, metadata, capFinder, analysisRecord) == null) { markInvalid(crit.getCommand(), "Subquery cannot be pushed down"); //$NON-NLS-1$ } } catch(QueryMetadataException e) { handleException(new TeiidComponentException(e)); } catch(TeiidComponentException e) { handleException(e); } }
public void visit(SubquerySetCriteria crit) { checkAbstractSetCriteria(crit); try { // Check if compares with subqueries are allowed if(! this.caps.supportsCapability(Capability.CRITERIA_IN_SUBQUERY)) { markInvalid(crit, "SubqueryIn is not supported by source"); //$NON-NLS-1$ return; } if (validateSubqueryPushdown(crit, modelID, metadata, capFinder, analysisRecord) == null) { markInvalid(crit.getCommand(), "Subquery cannot be pushed down"); //$NON-NLS-1$ } } catch(QueryMetadataException e) { handleException(new TeiidComponentException(e)); } catch(TeiidComponentException e) { handleException(e); } }