if (!caps.supportsFunction(fullName)) { if(SourceSystemFunctions.CONCAT2.equalsIgnoreCase(fullName)) { && caps.supportsFunction(SourceSystemFunctions.CONCAT) && caps.supportsFunction(SourceSystemFunctions.IFNULL) && caps.supportsCapability(Capability.QUERY_SEARCHED_CASE)); } else if(SourceSystemFunctions.FROM_UNIXTIME.equalsIgnoreCase(fullName)) { return (schema == null && caps.supportsFunction(SourceSystemFunctions.TIMESTAMPADD)); } else { return false ; return caps.supportsFunction(fullName);
if (!caps.supportsFunction(fullName)) { if(SourceSystemFunctions.CONCAT2.equalsIgnoreCase(fullName)) { && caps.supportsFunction(SourceSystemFunctions.CONCAT) && caps.supportsFunction(SourceSystemFunctions.IFNULL) && caps.supportsCapability(Capability.QUERY_SEARCHED_CASE)); } else if(SourceSystemFunctions.FROM_UNIXTIME.equalsIgnoreCase(fullName)) { return (schema == null && caps.supportsFunction(SourceSystemFunctions.TIMESTAMPADD)); } else if(SourceSystemFunctions.FROM_UNIXTIME.equalsIgnoreCase(fullName)) { return (schema == null && caps.supportsFunction(SourceSystemFunctions.TIMESTAMPDIFF)); } else { return false ; return caps.supportsFunction(fullName);
if (!caps.supportsFunction(fullName)) { if(SourceSystemFunctions.CONCAT2.equalsIgnoreCase(fullName)) { && caps.supportsFunction(SourceSystemFunctions.CONCAT) && caps.supportsFunction(SourceSystemFunctions.IFNULL) && caps.supportsCapability(Capability.QUERY_SEARCHED_CASE)); } else if(SourceSystemFunctions.FROM_UNIXTIME.equalsIgnoreCase(fullName)) { return (schema == null && caps.supportsFunction(SourceSystemFunctions.TIMESTAMPADD)); } else if(SourceSystemFunctions.FROM_UNIXTIME.equalsIgnoreCase(fullName)) { return (schema == null && caps.supportsFunction(SourceSystemFunctions.TIMESTAMPDIFF)); } else { return false ; return caps.supportsFunction(fullName);
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)); }
@Test public void testFind() throws Exception { String modelName = "model"; //$NON-NLS-1$ String functionName = "fakeFunction"; //$NON-NLS-1$ BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setFunctionSupport("fakeFunction", true); //$NON-NLS-1$ ArrayList<String> bindings = new ArrayList<String>(); bindings.add(modelName); VDBMetaData vdb = Mockito.mock(VDBMetaData.class); ModelMetaData model = Mockito.mock(ModelMetaData.class); Mockito.stub(vdb.getModel(modelName)).toReturn(model); Mockito.stub(model.getSourceNames()).toReturn(bindings); BasicSourceCapabilities basicSourceCapabilities = new BasicSourceCapabilities(); basicSourceCapabilities.setFunctionSupport(functionName, true); ConnectorManagerRepository repo = Mockito.mock(ConnectorManagerRepository.class); ConnectorManager cm = Mockito.mock(ConnectorManager.class); Mockito.stub(cm.getCapabilities()).toReturn(basicSourceCapabilities); Mockito.stub(repo.getConnectorManager(Mockito.anyString())).toReturn(cm); CachedFinder finder = new CachedFinder(repo, vdb); // Test SourceCapabilities actual = finder.findCapabilities(modelName); assertEquals("Did not get expected capabilities", true, actual.supportsFunction(functionName)); //$NON-NLS-1$ assertTrue(finder.isValid(modelName)); }
SourceCapabilities capabilities = manager.getCapabilities(); factory.setSupportsConcat2(capabilities.supportsFunction(SourceSystemFunctions.CONCAT2)); factory.setSupportFromUnixtime(capabilities.supportsFunction(SourceSystemFunctions.FROM_UNIXTIME));
if (caps.supportsCapability(Capability.SELECT_WITHOUT_FROM) && caps.supportsFunction(fd.getMethod().getFullName())) { schema = mmd.getName(); break;
&& !(caps.supportsFunction(SourceSystemFunctions.CONVERT) && caps.supportsConvert(DataTypeManager.DefaultTypeCodes.LONG, DataTypeManager.DefaultTypeCodes.INTEGER))) { markInvalid(obj, obj.getName() + " cannot narrow long argument timestampadd argument to int"); //$NON-NLS-1$ return;
&& !(caps.supportsFunction(SourceSystemFunctions.CONVERT) && caps.supportsConvert(DataTypeManager.DefaultTypeCodes.LONG, DataTypeManager.DefaultTypeCodes.INTEGER))) { markInvalid(obj, obj.getName() + " cannot narrow long argument timestampadd argument to int"); //$NON-NLS-1$ return;