public static boolean supportsSelfJoins(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws QueryMetadataException, TeiidComponentException { if (metadata.isVirtualModel(modelID)){ return false; } // Find capabilities SourceCapabilities caps = getCapabilities(modelID, metadata, capFinder); return caps.supportsCapability(Capability.QUERY_FROM_JOIN_SELFJOIN) && caps.supportsCapability(Capability.QUERY_FROM_GROUP_ALIAS); }
public static boolean supportsSelfJoins(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws QueryMetadataException, TeiidComponentException { if (metadata.isVirtualModel(modelID)){ return false; } // Find capabilities SourceCapabilities caps = getCapabilities(modelID, metadata, capFinder); return caps.supportsCapability(Capability.QUERY_FROM_JOIN_SELFJOIN) && caps.supportsCapability(Capability.QUERY_FROM_GROUP_ALIAS); }
public static boolean supportsSelfJoins(Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws QueryMetadataException, TeiidComponentException { if (metadata.isVirtualModel(modelID)){ return false; } // Find capabilities SourceCapabilities caps = getCapabilities(modelID, metadata, capFinder); return caps.supportsCapability(Capability.QUERY_FROM_JOIN_SELFJOIN) && caps.supportsCapability(Capability.QUERY_FROM_GROUP_ALIAS); }
public static boolean supports(Capability cap, Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws QueryMetadataException, TeiidComponentException { if (metadata.isVirtualModel(modelID)){ return false; } // Find capabilities SourceCapabilities caps = getCapabilities(modelID, metadata, capFinder); if (caps == null) { throw new AssertionError(modelID); } return caps.supportsCapability(cap); }
public static boolean supports(Capability cap, Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws QueryMetadataException, TeiidComponentException { if (metadata.isVirtualModel(modelID)){ return false; } // Find capabilities SourceCapabilities caps = getCapabilities(modelID, metadata, capFinder); if (caps == null) { throw new AssertionError(modelID); } return caps.supportsCapability(cap); }
public static boolean supports(Capability cap, Object modelID, QueryMetadataInterface metadata, CapabilitiesFinder capFinder) throws QueryMetadataException, TeiidComponentException { if (metadata.isVirtualModel(modelID)){ return false; } // Find capabilities SourceCapabilities caps = getCapabilities(modelID, metadata, capFinder); if (caps == null) { throw new AssertionError(modelID); } return caps.supportsCapability(cap); }
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; } } }
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(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$ } }
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(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(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$ } }
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$ } }
public static void initLanguageBridgeFactory(LanguageBridgeFactory factory, CommandContext context, SourceCapabilities capabilities) { factory.setCommandContext(context); factory.setSupportsConcat2(capabilities.supportsFunction(SourceSystemFunctions.CONCAT2)); factory.setSupportsCountBig(capabilities.supportsCapability(Capability.QUERY_AGGREGATES_COUNT_BIG)); factory.setMaxInPredicateSize((Integer) capabilities.getSourceProperty(Capability.MAX_IN_CRITERIA_SIZE)); factory.setExcludeWithName((String) capabilities.getSourceProperty(Capability.EXCLUDE_COMMON_TABLE_EXPRESSION_NAME)); factory.setSourceNullOrder((NullOrder) capabilities.getSourceProperty(Capability.QUERY_ORDERBY_DEFAULT_NULL_ORDER)); factory.setSupportsNullOrdering(capabilities.supportsCapability(Capability.QUERY_ORDERBY_NULL_ORDERING)); }
public static void initLanguageBridgeFactory(LanguageBridgeFactory factory, CommandContext context, SourceCapabilities capabilities) { factory.setCommandContext(context); factory.setSupportsConcat2(capabilities.supportsFunction(SourceSystemFunctions.CONCAT2)); factory.setSupportsCountBig(capabilities.supportsCapability(Capability.QUERY_AGGREGATES_COUNT_BIG)); factory.setMaxInPredicateSize((Integer) capabilities.getSourceProperty(Capability.MAX_IN_CRITERIA_SIZE)); factory.setExcludeWithName((String) capabilities.getSourceProperty(Capability.EXCLUDE_COMMON_TABLE_EXPRESSION_NAME)); factory.setSourceNullOrder((NullOrder) capabilities.getSourceProperty(Capability.QUERY_ORDERBY_DEFAULT_NULL_ORDER)); factory.setSupportsNullOrdering(capabilities.supportsCapability(Capability.QUERY_ORDERBY_NULL_ORDERING)); }